gpt4 book ai didi

android - SharedPreference 数据存储困难,退出时丢失值

转载 作者:行者123 更新时间:2023-11-30 02:09:24 25 4
gpt4 key购买 nike

我在 SharedPreferences 实例中存储原始数据时遇到问题。一切都按我想象的那样工作,但是当我关闭或退出我的应用程序并重新打开它时,SharedPreference 中的值返回到默认状态。

我认为这可能与我设置默认值的位置或方式有关。这是我所指的 fragment ,它位于我的主要 Activity 的 onCreate() 中:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null){
userDetails = getSharedPreferences("preferences", MODE_PRIVATE);
SharedPreferences.Editor edit = userDetails.edit();
edit.putInt("list_code", 0); //stores the number corresponding to a word list
edit.putInt("highscore", 0); //stores the starting score
edit.commit();
}

想法?

最佳答案

Bundle != null 当您的 Activity “重新启动”时。例如,当屏幕旋转或系统终止后台 Activity 并重新创建它时。否则它等于 null。因此,要在不同的 Activity 实例之间保存一些数据,您需要检查之前是否保存过数据。

示例:

SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE);
int highScore = preferences.getInt("highscore", -1);

if (highScore == -1) {
//preferences was never used, so put default value
highScore = 0;
preferences.edit().putInt("highscore", highScore).commit();
}

关于android - SharedPreference 数据存储困难,退出时丢失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30330313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com