7

SharedPreferencesを使用して、アプリ内のすべてのアクティビティにアクセスできるデータを保存および取得したいと思います。それは可能ですか?これまで私は、特定のアクティビティのデータが保存されるようにそれを行ってきました。

4

5 に答える 5

9

はい。SharePreferencesはまさにこれを行います。すべてのアクティビティでこれを行うことができます:

SharedPreferences prefs = getSharedPreferences(ApplicationConstants.PREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(name, value);
editor.commit();

次に、これを行う他のアクティビティの値を取得します。

mPrefs.getString(name, "");

これはドキュメントです:http: //developer.android.com/reference/android/content/SharedPreferences.html

そして、これは最初の良い例です:

http://myandroidsolutions.blogspot.it/2012/03/android-preferenceactivity.html

于 2012-06-29T15:08:11.037 に答える
2

はい、それが全体の目的です。

これは、次のように書き込む方法です。Editor

    final SharedPreferences shp         = ctx.getSharedPreferences(ctx.getString(R.string.app_name), Context.MODE_PRIVATE);
    final SharedPreferences.Editor ed   = shp.edit(); 
    ed.putString("var1", "var1");
    ed.putString("var2", "var2");

そしてそれをロードするには:

shp.getString("var1", "defvalue");
于 2012-06-29T15:09:13.657 に答える
1

すべてのアクティビティの値にアクセスしたい場合は、カスタム Application クラスに保存し、後でアクティビティに保存する方が良いと思います。

((CustomApplication)getApplication()).getStoredValue()

共有設定はファイルに保存され、このファイルへのアクセスは遅くなります。

于 2013-02-12T12:10:04.353 に答える