gpt4 book ai didi

javascript - 退出应用程序时存储在 Sharedpreference 中的数据丢失

转载 作者:行者123 更新时间:2023-11-28 17:49:50 26 4
gpt4 key购买 nike

我正在开发一个步数计数器应用程序。步数逐渐增加,我想将步数数据保存在共享首选项中,但是当我返回主页并重新启动应用程序时,我认为应该保存步数数据SharedPreference 就消失并重置为 0。以下是我的代码的一部分。我该如何解决这个问题?谢谢。

public class MainActivity extends AppCompatActivity {
String finalstep="";
String valuestring1= null;

private static final String step = "STEP";

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf =new SimpleDateFormat("dd");
String strDate = sdf.format(c.getTime());
int date = Integer.parseInt(strDate);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

public void readData(){
settings = getSharedPreferences(step,MODE_WORLD_READABLE);
textSteps.setText(settings.getString(valuestring1, ""));
}

public void resetSteps(View v) {
String strDate1 = sdf.format(c.getTime());
int date1 = Integer.parseInt(strDate1);
if(date1==date) {
readData();
textSteps.setText(valuestring1);
}
else{
date=date1;
numSteps = 0;
textSteps.setText(String.valueOf(numSteps));
}
}
public void saveData(){
String s = String.valueOf(finalstep);
settings = getSharedPreferences(step,0);
settings.edit()
.putString(s, valuestring1).commit();
}

public void pressed (View v) {
if(v.getId()==R.id.exit) {
saveData();
}
}
}

最佳答案

在 saveData 中向共享首选项添加值时,您必须将 key 传递为

settings.edit().putString("KEY_STEP", s).commit();

在获取共享首选项值时,您必须获取为

settings.getString("KEY_STEP", "")

关于javascript - 退出应用程序时存储在 Sharedpreference 中的数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45814520/

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