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