2012年8月2日木曜日

AndroidManifest.xmlに記述したの取得方法

この方法を使うとアプリケーションで固定して使う値を一元管理出来ます。

strings.xmlで管理する方法もありますがどちらがいいのでしょうか?

とりあえず、AndroidManifest.xmlに以下のように<meta-data>を記述します。

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".TestDroid"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<meta-data android:value="test_value" android:name="test_key" />
</application>
10行目がmeta-dataの記述です。

この値をプログラム側で取得する方法です。

ApplicationInfo appliInfo = null;
try {
appliInfo = getPackageManager().getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {}
Log.d("MetaData", appliInfo.metaData.getString("test_key"));
このように記述します。

ちなみに、例はActivityの中での使用方法なので、

Contextのメソッドの「getPackageManager」や「getPackqgeName」は適時インスタンス変数からの呼び出しに変更してください。

0 件のコメント:

コメントを投稿