私は、私はこの1つのように私のプロジェクトに含める必要がある静的なキー/値のペアのリストを持っている:Android開発:静的なKey/Valueペアはどこに置くのですか?
Androidのプロジェクトで、私はこれを置くだろうgivenName : First Name
sn : Last Name
mail : Email
... snip ...
?
おかげであなたはres/values/strings.xml
で保存したXMLファイル必要 エリック
私は、私はこの1つのように私のプロジェクトに含める必要がある静的なキー/値のペアのリストを持っている:Android開発:静的なKey/Valueペアはどこに置くのですか?
Androidのプロジェクトで、私はこれを置くだろうgivenName : First Name
sn : Last Name
mail : Email
... snip ...
?
おかげであなたはres/values/strings.xml
で保存したXMLファイル必要 エリック
:ここ
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="givenName">First Name</string>
<string name="sn">Last Name</string>
<string name="mail">Email</string>
</resources>
は、あなたが他のXMLSからの値にアクセスする方法です。
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/givenName" />
それとも、これはどのようにありますJavaコードから値にアクセスできます。
String string = getString(R.string.givenName);
Log.d("Test", string); // Outputs "First Name" to LogCat console.
this Android Dev Guideを参照してください。文字列リソースに関する詳細は、
実際に静的/グローバルを使用する必要がある場合は、それらをアプリケーションを拡張するカスタムクラスに入れます。このように:
public classYourApplication extends Application {
protected Bar myBar;
public Bar getBar() { return myBar; }
public void setBar(Bar bar) { myBar = bar; }
...
}
マニフェストを使用してカスタムアプリケーションクラスを使用することを宣言します。
<application
android:icon="@drawable/ic_launcher_noteit1"
android:label="@string/app_name"
android:theme="@style/App_Theme"
android:name="YourApplication"
android:debuggable="true">
今、あなたは(YourApplication)getApplicationを()を使用して、すべての活動から、アプリケーションのオブジェクトにアクセスすることができます。これはお勧めの方法ではないことに注意してください。推奨される方法は、シングルトンパターンを使用することです。 (私の質問の回答の1から取られたの回答)
Androidのは、具体的には、キーと値のペアでプリミティブを格納するために設計されてSharedPreferences
と呼ばれる構築済みコンテンツプロバイダラッパーを提供します。 getApplication()
はちょうどあなたのアプリケーションのコンテキストを取得するための方法として使用されている
SharedPreferences mySharedPrefs = PreferenceManager
.getDefaultSharedPreferences(getApplication());
mySharedPrefs.edit().putString(key, value).commit();
。キーkey
に格納されている文字列を返し、何もそのキーに保存されていない場合null
を返しますバック
SharedPreferences mySharedPrefs = PreferenceManager
.getDefaultSharedPreferences(context);
String value = mySharedPrefs.getString(key, null);
アウト値を取得します。