Android SharedReferences不起作用-getString始终返回默认值
我对Android中的SharedReference有问题 这是我的代码:Android SharedReferences不起作用-getString始终返回默认值,android,sharedpreferences,Android,Sharedpreferences,我对Android中的SharedReference有问题 这是我的代码: SharedPreferences s = this.getSharedPreferences("kurs",MODE_WORLD_READABLE); s.edit().putString("eur", "1.80"); s.edit().commit(); SharedPreferences a = this.getSharedPreferences("kurs",MODE_WORLD
SharedPreferences s = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
s.edit().putString("eur", "1.80");
s.edit().commit();
SharedPreferences a = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
String kurs = a.getString("eur","7");
Toast hhh= Toast.makeText(getApplicationContext(),kurs, Toast.LENGTH_LONG);
hhh.show();
我正在设置字符串,并希望在onCreate方法中直接读取该字符串。但我总是得到指定的默认值“7”
怎么了?我已经研究过这个问题,但是我找不到有用的东西
感谢您的帮助:)每次调用“s.edit()”都会创建一个新编辑器。因此,您的“commit()”调用针对的是尚未应用设置的编辑器实例。试试这个:
SharedPreferences s = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
Editor editor = s.edit();
editor.putString("eur", "1.80");
editor.commit();
试试这个请试试我下面的代码。我认为您的代码中的错误之处在于,您在这里使用了不同的“编辑器”实例: “s.edit().putString(“eur”、“1.80”);” 这里呢 s、 编辑().commit()
你打了两次电话给编辑。。试试s.edit().putString(“eur”,“1.80”).commit();并删除下面多余的s.edit()。
SharedPreferences myPrefs = this.getSharedPreferences("kurs", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = myPrefs.edit();
editor.putString("eur", "1.80");
// commit the edits
editor.commit();
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", context.MODE_WORLD_READABLE);
String kurs = myPrefs.getString("eur", "7");
Toast hhh= Toast.makeText(getApplicationContext(),kurs, Toast.LENGTH_LONG);
hhh.show();
private static String APP_SHARED_PREFS = "MyAppID";
// Write the value
SharedPreferences.Editor prefsEditor = getSharedPreferences(APP_SHARED_PREFS, Activity.MODE_PRIVATE).edit();
prefsEditor.putString("KEY", "VALUE");
prefsEditor.commit();
// Get the value
return getSharedPreferences(APP_SHARED_PREFS, Activity.MODE_PRIVATE).getString("KEY", "");