为什么putInt需要Android Java中的字符串?

时间:2015-05-16 15:05:08

标签: java android

我正在使用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)

3 个答案:

答案 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。