Android學(xué)習(xí)之 Manifest中meta-data擴(kuò)展元素數(shù)據(jù)的配置與獲取
來源:程序員人生 發(fā)布時間:2014-12-12 08:51:37 閱讀次數(shù):2668次
在AndroidManifest.xml清單文件中 我們有時會看到以下類似的<meta-data ... >元素開始的配置內(nèi)容:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
標(biāo)簽<meta-data>是提供組件額外的數(shù)據(jù)用的,它本身就是1個鍵值對,可以自定義名稱和值。它可以包括在以下組件當(dāng)中:
<activity>、<application> 、<service> 和 <receiver>
1、如何配置<mate-data...>元素:
標(biāo)簽<meta-data>元素的配置語法以下:
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
說明:1般的值可以通過value屬性來指定,但是如果要指定1個資源的id,則需要使用resource屬性來配置。
如以下配置內(nèi)容:
<meta-data android:name="api_key" android:value="@string/api_key" />
指定的api_key值為存儲在資源文件string中的api_key值 如:AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo
如以下配置內(nèi)容:
<meta-data android:name="resId" android:resource="@string/res_id" />
指定的resId值則是為res_id的資源id號 而不是string中的res_id值
2、如何獲得<mate-data...>元素配置的值:
1、在<application...>元素下配置<mate-data...>元素
xml代碼段:
<application...>
.....
<meta-data
android:name="api_key"
android:value="AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo" />
</application>
Java代碼段:
try {
ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
String value = appInfo.metaData.getString("api_key");
Log.d("Tag", " app key : " + value); // Tag
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
------分隔線----------------------------
------分隔線----------------------------