2012-08-31 15 views
7

Ist es möglich, einen Kurznamen für einen Paketnamen zu erstellen, auf den ich in der XML-Datei verweisen kann?Paketname Alias ​​oder Nickname

Ich möchte nicht den ganzen Paketnamen z. com.example.go.deck.today kann ich stattdessen einen Alias ​​erstellen und diesen Alias ​​referenzieren?

Ich möchte einen Alias ​​oder Nickname anstelle des Paketnamens in einer android/layout XML-Datei verweisen.

Antwort

5

Android von sich selbst bietet keine solche Einrichtung. Sie können die Ameise jedoch für Sie verwenden. Sie könnten eine benutzerdefinierte Datei build.xml schreiben, die das Ziel <target name="-code-gen"> vornimmt, um Token zu ersetzen, bevor die Klasse R generiert wird. Sie könnten die Regel hinzufügen:

<replace file="targetFile" token="@[email protected]" value="com.example.go.deck.today"/> 

dies jedes Vorkommen von @[email protected] durch com.example.go.deck.today im targetFile ersetzen würde.

Ich bin kein ant Spezialist, aber basierend auf der Erfahrung der Vergangenheit würde ich sagen, dass es nicht schwer wäre, eine Regel zu schreiben, die alle Dateien im Verzeichnis res scannen könnte.

9

Nein, das ist nicht möglich, zumindest nicht direkt im Android-Toolset.

2

Obwohl es nicht direkt möglich, auf einen Paketnamen beziehen sich jedoch für eine ‘resource’ in einem xml oder Code ist:

package.R.resource_type.resource_name 

und

@[package:]resource_type/resource_name 

HINWEIS: Paket hier tut Nicht bedeutet ‘java package’ aber package == application, wenn Sie also auf eine Ressource zugreifen, die in Ihrer eigenen App definiert ist, können Sie sie überspringen. Deshalb verwenden wir @strings/name oder direkt R.strings.name. Ähnlich wie Ressourcen von Android verwendet verwenden wir @android:string/name oder android.R.string.name