2016-02-17 56 views
0

我做了一個小型的安卓遊戲,我有一個問題,保存應用程序每次重新啓動時應該檢索的整體分數,而不是像默認的0一樣開始。Android保存總體分數

我看了一下SharedPreferences,但似乎更關心的是保存不會改變的高分。

有沒有辦法讓我保存一個比分,隨着更多比賽的進行而改變?

我認爲我需要做到以下幾點:

  • 檢索保存的得分
  • 把它放進一個變量
  • 更改該變量
  • 保存遊戲或每一遍結束 - 它會改變(取決於它是否影響性能)

編輯:原來,SharedPreferences可以用於此場景。現在有人可以提供一個如何實現它的答案嗎?

回答

3

我相信你可以使用Shared Preference來達到這個目的。 它可以用來保存你的分數,覆蓋分數和檢索分數。 共享首選項使用Key值對。

0

我不知道爲什麼你會得出的結論是SharedPreferences會更適合非改變的值。 我認爲這是一個很好的用例。

你可以嘗試其他持久性選項(如集成的SQLite到您的應用程序),但是這似乎是與開銷最少大寫金額最快的選項。

不過,如果你有興趣在其他的選擇,我希望你通過Android文檔中的存儲選項脫脂:

http://developer.android.com/guide/topics/data/data-storage.html

,當然,使用SharedPreferences將不得不與Application LifeCycle方法(例如onResume,onPause等)一起完成: http://developer.android.com/training/basics/activity-lifecycle/index.html

0

您可以使用SQLite數據庫來保存得分值。 要檢索數據庫中的當前得分,請使用此查詢。

SELECT score from ScoreTable where id = userId; 

將檢索值分配給變量。

在比賽結束//更新分值

int finalScore = initialscore + newScore 

UPDATE ScoreTable SET score = finalScore WHERE id = userId