2012-08-31 143 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