2012-05-10 8 views
3

私は、私はこの1つのように私のプロジェクトに含める必要がある静的なキー/値のペアのリストを持っている:Android開発:静的なKey/Valueペアはどこに置くのですか?

Androidのプロジェクトで、私はこれを置くだろう
givenName : First Name 
sn  : Last Name 
mail  : Email 
... snip ... 

おかげであなたはres/values/strings.xmlで保存したXMLファイル必要 エリック

答えて

1

:ここ

<?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を参照してください。文字列リソースに関する詳細は、

1

実際に静的/グローバルを使用する必要がある場合は、それらをアプリケーションを拡張するカスタムクラスに入れます。このように:

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から取られたの回答)

2

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); 

アウト値を取得します。

関連する問題