2015-09-05 87 views
1

我们通常使用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); 

但我们的数据知道每次创建新分数时,保存都会覆盖。

我怎样才能保存一个新的高分?即如果用户在最新的高分中得分,则只有在新的高分时才会被保存。另外,我怎样才能把这个分数放在谷歌排行榜?

+0

你可以得到最后的高分,并将其与新一。 –

+0

你应该总是在内存的某个地方拥有“高分”。尝试读取高分并在应用程序启动时存储它。每次你要保存它时,与内存中的那个进行比较,如果它更多则保存它,并将它分配给内存中的高分。 应该很简单。 – Panther

+0

@Panther所以这就像比较当前得分与高分更高或更低的权利?有一些示例代码? – RichFounders

回答

3

我不完全理解的代码,但我认为你正在寻找使用if语句

highscore = pref.getInt('Highscore", 0); 
if (gamescore > highscore){ 
    pref.edit("Highscore, gamescore); 
} 

类似的东西