我正在尝试使用SharedPreference保存一些String数据。

这是我的代码

// SAVE
SharedPreference mySharedPref = new SharedPreference("Data", 0);
mySharedPref.edit().putString("hello", "world");
mySharedPref.edit().putString("my", "code");
mySharedPref.edit().commit();

// LOAD
String str = mySharedPref.getString("hello", ""); // I expect "world"


但是它只有一个空字符串!

与此同时,

SharedPreference.Editor editor = mySharedPref.edit();
editor.putString(...);
editor.commit();


这个工作...

我以为mySharedPref.edit()返回一个引用,并使上面和下面的代码相同。

我现在很困惑。 X(

最佳答案

See this solution

在首选项中设置值:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.commit();


从首选项中检索数据:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value.


}

关于java - SharedPreference.Editor如何在Android中实际工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35471963/

10-11 04:08