日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android meta data值获取的坑

發(fā)布時(shí)間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android meta data值获取的坑 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

獲取meta data的時(shí)候,正常的非純數(shù)字的字符串,設(shè)置在value里面,用getString獲取是正常的。

但是如果含有純數(shù)字的字符串,用getString獲取返回為null。也許你會(huì)想到用getInt,getLong獲取,很抱歉,也可能是null。

解決方式有兩種:

一.

繼續(xù)使用value="1234567890",但是在純數(shù)字字符串開(kāi)頭加上"\ "(反斜杠+空格)這樣系統(tǒng)會(huì)自動(dòng)讀取為字符串而不是其他格式,形如

<meta-dataandroid:name="appkey"android:value="\ 1234567890" />

?

二.使用resources屬性通過(guò)getInt獲取資源id,再獲取資源id對(duì)應(yīng)的值,這種方式可擴(kuò)展性很強(qiáng),可以獲取所有資源而不只是string,形如

<meta-dataandroid:name="appkey"android:resource="@string/AppKey" />

在strings.xml中定義AppKey的值為

<string name="AppKey">1234567890</string>

?

三.Application下獲取meta資源的方式

public static String getStringMetaData(String name) {int valueId = 0;try {ApplicationInfo appInfo = getApplicationContext().getPackageManager().getApplicationInfo(getApplicationContext().getPackageName(),PackageManager.GET_META_DATA);valueId = appInfo.metaData.getInt(name);if (valueId != 0) {return getApplicationContext().getResources().getString(valueId);}} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}return ""; }

轉(zhuǎn)載于:https://my.oschina.net/u/990728/blog/673959

總結(jié)

以上是生活随笔為你收集整理的android meta data值获取的坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。