2015-09-05 153 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); 
} 

類似的東西