-1
我有一個在0-1範圍內的double值。新的高分值應該是兩者中較小的值。基本上是這樣的:如果用戶A以前的高分爲0.6,而他剛剛得到0.4,那麼新的高分應該是0.4。由於我是初學者,請說明性,謝謝。Android - 如何保存雙值高分?
編輯:對不起,我沒有足夠描述足夠,但我想高分被保存,並能夠被再次訪問。所以,如果用戶退出應用並重新訪問,它仍然會顯示高分。
我有一個在0-1範圍內的double值。新的高分值應該是兩者中較小的值。基本上是這樣的:如果用戶A以前的高分爲0.6,而他剛剛得到0.4,那麼新的高分應該是0.4。由於我是初學者,請說明性,謝謝。Android - 如何保存雙值高分?
編輯:對不起,我沒有足夠描述足夠,但我想高分被保存,並能夠被再次訪問。所以,如果用戶退出應用並重新訪問,它仍然會顯示高分。
這聽起來像你想使用共享首選項來存儲值爲:http://developer.android.com/training/basics/data-storage/shared-preferences.html,然後當你去保存它時檢查這個。
下面是示例代碼,以便您可以致電writeHighScore(score)
,它會保存它,如果它是比以前保存的高分低:
void writeHighScore(float score)
{
if (score < getOldHighScore())
{
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putFloat("highscore", score);
editor.commit();
}
}
float getOldHighScore()
{
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
return sharedPref.getFloat("highscore", 1);
}
我用了一個浮在這裏而不是雙。如果要存儲具有共享首選項的雙精度型,則需要將其轉換爲長整型數據,如下所示:Can't put double SharedPreferences
double highScore = Math.min(oldHighScore,newScore); –
請不要將答案作爲評論發佈。 – chepner
@LanceJava對不起,我沒有足夠描述,但我希望得分被保存。所以,當用戶退出應用程序並重新訪問時,高分仍然存在。 – ineedhelp