包名称别名或昵称

时间:2012-08-31 11:23:51

标签: java android xml package extend

是否可以为包名创建一个昵称,我可以在xml文件中引用?

我不想写整个包名,例如com.example.go.deck.today我可以创建一个别名并引用该别名吗?

我想在android / layout XML文件中引用别名或缺口而不是包名。

3 个答案:

答案 0 :(得分:9)

不,抱歉,这是不可能的,至少不是直接在Android工具集中。

答案 1 :(得分:5)

Android本身并不提供此类设施。但是你可以用蚂蚁为你做这件事。您可以编写自定义build.xml,自定义目标<target name="-code-gen">以在生成R类之前执行令牌替换。您可以添加规则:

<replace file="targetFile" token="@PACKAGE_ALIAS@" value="com.example.go.deck.today"/> 

这会在@PACKAGE_ALIAS@中用com.example.go.deck.today替换targetFile的每一次出现。

我不是ant专家,但根据过去的经验,我会说编写一条可以扫描res目录中所有文件的规则并不难。

答案 2 :(得分:2)

虽然不能直接引用包名,但是,  在‘resource’中使用xml或代码是:

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