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