2012-08-31 86 views
7

是否可以爲軟件包名稱創建別名,以便我可以在xml文件中引用?軟件包名稱別名或暱稱

我不想寫整個包名,例如com.example.go.deck.today,而不是我可以創建一個別名,並引用該別名?

我想引用一個別名或暱稱,而不是android/layout XML文件中的包名稱。

回答

5

Android本身不提供此類功能。不過你可以用螞蟻來爲你做。您可以編寫自定義build.xml,在生成R類之前自定義目標<target name="-code-gen">以執行令牌替換。你可以添加規則:

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

這將在targetFile取代@[email protected]所有出現的com.example.go.deck.today

我不是ant專家,但根據過去的經驗,我會說,編寫一個規則可以掃描res目錄中的所有文件並不困難。

9

不,對不起,這是不可能的,至少不是直接在Android工具箱內。

2

雖然它不能直接指一個軟件包名稱,但是, 在一個xml或代碼使用‘resource’是:

package.R.resource_type.resource_name 

@[package:]resource_type/resource_name 

注:包在這裏做不意味着‘java package’,但package == application,所以如果你正在訪問在你自己的應用程序中定義的資源,你可以跳過它。這就是爲什麼我們使用@strings/name或直接R.strings.name。與使用Android定義的資源類似,我們將使用@android:string/nameandroid.R.string.name