共享偏好不按预期工作

时间:2016-05-22 14:38:58

标签: android android-sharedpreferences

我正在使用共享偏好来存储一个int,这将是我创建的游戏的高分。问题是它根本没有存储。当我重启我的设备/关闭应用程序或任何高分都没有。有什么问题?

商店

 SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", highScore);
editor.commit();

检索

SharedPreferences sp1 = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int highScoreSaved = sp1.getInt("your_int_key", 0);

如果您要我添加更多代码,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:0)

获取SharedPreference实例时尝试使用此功能:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this /* Current context */);

因此,键值对将存储在默认文件中,应用程序中的所有活动将共享该文件,无论您传递给它的上下文。

但是,如果您不想使用该文件的默认实例,则可以编辑代码以使其使用应用程序上下文:

SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("prefs_file", Context.MODE_PRIVATE);

通常我更喜欢第一种方法,因为它更灵活,易于使用单实例文件。