Android的documentation告訴我,我可以從另一個包通過「包名」,這意味着什麼訪問字符串:如何使用Android中的XML從庫中的其他包引用字符串?
@[<package_name>:]<resource_type>/<resource_name>
所以在我的清單我要訪問我已經放在一個字符串在一個單獨的庫項目,在com.globalmentor.android package
---這就是我的R
類的,畢竟:
<activity
android:label="@com.globalmentor.android:string/app_applicationlistactivity_label"
android:name="com.globalmentor.android.app.ApplicationListActivity" >
</activity>
這還不編譯。但是這樣做:
<activity
android:label="@string/app_applicationlistactivity_label"
android:name="com.globalmentor.android.app.ApplicationListActivity" >
</activity>
爲什麼? Android文檔對於「package_name」的含義是什麼意思?爲什麼第一個例子不工作,爲什麼第二個例子工作?我不希望所有的資源名稱都合併到同一個R
文件中---我希望將它們分區到軟件包中,就像我寫的那樣。
認真嗎?如果所有名稱仍然發生衝突,那麼使用'com.myapp.R'和'com.library.R'有什麼意義?所以我必須使用'com.example.foo.R.id.com_example_foo_bar'而不是'com.example.foo.R.id.bar'來防止名稱在合併時發生衝突?多麼愚蠢。 –
所以當它說「package_name」時,仍然不知道文檔是什麼意思(參見原始問題)? –