共享首选项未按预期工作
Shared preferences not working as intended
我正在使用共享首选项来存储一个整数,它将成为我创建的游戏的最高分。问题是它根本没有被存储。当我重新启动我的 device/shutdown 应用程序或任何高分都消失了。有什么问题?
商店
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);
如果您希望我添加更多代码,请告诉我。谢谢!
在获取 SharedPreference
实例时尝试使用它:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this /* Current context */);
因此键值对将存储在应用程序中所有活动将共享的默认文件中,无论您传递给它的上下文如何。
但是,如果您不想使用该文件的默认实例,您可以编辑您的代码以使其使用应用程序上下文:
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("prefs_file", Context.MODE_PRIVATE);
通常我更喜欢第一种方法,因为它更灵活且易于与单个实例文件一起使用。
我正在使用共享首选项来存储一个整数,它将成为我创建的游戏的最高分。问题是它根本没有被存储。当我重新启动我的 device/shutdown 应用程序或任何高分都消失了。有什么问题?
商店
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);
如果您希望我添加更多代码,请告诉我。谢谢!
在获取 SharedPreference
实例时尝试使用它:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this /* Current context */);
因此键值对将存储在应用程序中所有活动将共享的默认文件中,无论您传递给它的上下文如何。
但是,如果您不想使用该文件的默认实例,您可以编辑您的代码以使其使用应用程序上下文:
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("prefs_file", Context.MODE_PRIVATE);
通常我更喜欢第一种方法,因为它更灵活且易于与单个实例文件一起使用。