この方法を使うとアプリケーションで固定して使う値を一元管理出来ます。
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 件のコメント:
コメントを投稿