[英]why android need to use meta-data?
我發現一些AndroidManifest.xml有一些。
像這樣:
<meta-data android:name="zoo" android:value="@string/kangaroo" />
Android中的代碼:
ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
String zoo = ai.metaData.getString("zoo");
我可以在string.xml中定義一個字符串值,並在代碼中非常容易地獲取它。
和string.xml有什么不同?
這是一個糟糕的例子。 看起來該值是應用程序使用的數據。 清單是存儲有關應用程序的元數據的正確位置。 在這里放置應用程序使用的字符串數據(即消耗的)也是不可本地化的。
在我的一個應用程序中,我在庫中有靜態內容。 該庫具有自己的版本號,並在“about”活動中向用戶顯示。 我可以將它作為字符串常量存儲在代碼中,但使用清單元數據更加合乎邏輯且可維護,其中所有應用程序版本信息都與SDK版本一起存儲。
總而言之,在您給出的示例中,@ string / kangaroo值應該在strings.xml中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.