如何累计所有int值?

时间:2015-09-11 17:26:59

标签: java android

我的意思是总计用户已经在游戏中获得的所有分数。

我知道保存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");

可以使用共享偏好来累计值吗?有人可以提供一些示例代码吗?谢谢。

1 个答案:

答案 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);