我的意思是总计用户已经在游戏中获得的所有分数。
我知道保存int值就像得分我正在使用像这样的共享偏好
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putInt("Score", "value");
editor.commit();
示例:
当用户第一次玩,他得到2000分,所以它将与共享偏好一起保存
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putInt("Score", 2000);
editor.commit();
当用户第二次玩游戏时,他得分为6000,所以它也将以共享偏好保存
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putInt("Score", 6000);
editor.commit();
因此总分为8000,我的问题是如果使用共享偏好检索值,如何累计所有分数?
SharedPreferences pref = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
pref.getInt("Score", "value");
可以使用共享偏好来累计值吗?有人可以提供一些示例代码吗?谢谢。
答案 0 :(得分:2)
如果你需要做的只是保持一个总计,你可以这样做
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putInt("Score", score + sharedpreferences.getInt("Score",0)).commit();
//where score is your new score value
此外,代码中的行
pref.getInt("Score", "value");
需要具有默认值的整数值,而不是字符串。像这样
pref.getInt("Score", 0);