我正在使用SharedPreferences,但我遇到了问题。 我有一节课:
protected static String someValue;
int myValue = 10;
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(someValue, myValue);
editor.commit();
如何在另一个班级中检索这个?
long highScore = sharedPref.getInt(getString(WHAT DO I TYPE HERE?), myNewHighScore)
答案 0 :(得分:2)
设置SharedPreference时,您必须执行
editor.putInt("your_key", myValue);
您可以像
一样检索它long highScore = sharedPref.getInt("your_key", default_score);
当您使用getInt()
时,如果之前未在共享首选项中设置该值,则必须返回默认的整数值。
答案 1 :(得分:1)
SharedPreferences使用键/值对存储值,就像常规的HashMaps一样,这就是字符串的关键。
对于您存储的每个首选项,密钥应该是唯一的,最好应放在strings.xml文件中。
有关详情,请查看http://developer.android.com/guide/topics/ui/settings.html#ReadingPrefs
答案 2 :(得分:1)
如果你使用this.getPreferences来获取一个实例,那么这个实例只是包含在内,可以在这个类中使用。如果你想在另一个类中共享SharedPreference,你可以这样做:
SharedPreferences sp =PreferenceManager.getDefaultSharedPreferences(this);
通过这种方式,您可以在另一个类中获得SharedPreferences。