簡體   English   中英

為什么android需要使用元數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM