Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android库继承资源_Android_Resources - Fatal编程技术网

从android库继承资源

从android库继承资源,android,resources,Android,Resources,我有一个关于从android库继承资源的问题 假设您有一个android库项目,并且在该库中的包名com.libexample下放置了一些资源(比如字符串) 现在在一个名为com.example的android项目中,我引用了我先前创建的库 如果我想使用库中的一个字符串,我可以使用 getString(com.libexample.R.string.test_string); 我的问题是,我的主项目中的字符串资源是否可以被分配与我的库中的字符串相同的整数ID?原因如果是,则上述代码语句实际上等

我有一个关于从android库继承资源的问题

假设您有一个android库项目,并且在该库中的包名com.libexample下放置了一些资源(比如字符串)

现在在一个名为com.example的android项目中,我引用了我先前创建的库

如果我想使用库中的一个字符串,我可以使用

getString(com.libexample.R.string.test_string);
我的问题是,我的主项目中的字符串资源是否可以被分配与我的库中的字符串相同的整数ID?原因如果是,则上述代码语句实际上等于:

getString(R.string.new_string);

假设为新的字符串资源分配了与测试字符串资源相同的ID。

显然,编译器会自动将资源添加到同一生成的R.java文件下,以防止任何冲突。

我假设ID可能匹配,除非有两种可能性之一为真:1。Android编译器足够聪明,可以在每个库中搜索每个名为
R
的类,并检查每个库中是否有已使用的ID(我认为这不太可能)。2.
R
中的ID不是完全随机的,并且包含了来自编译单元的足够信息,从而有效地保证
com.libexample.R
中的ID不会与
com.someotherthing.R
中的ID一致(更可能)。