如何只保存新的排行榜,并把在排行榜
问题描述:
我们通常使用sharedpreferences保存当前数据,如如何只保存新的排行榜,并把在排行榜
SharedPreferences pref = getSharedPreferences("SavedGame", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putInt("Score", gamescore);
editor.putInt("Level", gamelevel);
editor.commit();
,然后用它来获取保存在sharedpreferences
SharedPreferences pref = getSharedPreferences("SavedGame", MODE_PRIVATE);
gamelifes = pref.getInt("Score", 0);
gamelevel = pref.getInt("Level", 0);
但我们的数据知道每次创建新分数时,保存都会覆盖。
我怎样才能保存一个新的高分?即如果用户在最新的高分中得分,则只有在新的高分时才会被保存。另外,我怎样才能把这个分数放在谷歌排行榜?
答
我不完全理解的代码,但我认为你正在寻找使用if语句
highscore = pref.getInt('Highscore", 0);
if (gamescore > highscore){
pref.edit("Highscore, gamescore);
}
类似的东西
你可以得到最后的高分,并将其与新一。 –
你应该总是在内存的某个地方拥有“高分”。尝试读取高分并在应用程序启动时存储它。每次你要保存它时,与内存中的那个进行比较,如果它更多则保存它,并将它分配给内存中的高分。 应该很简单。 – Panther
@Panther所以这就像比较当前得分与高分更高或更低的权利?有一些示例代码? – RichFounders