最近我正在開發一個簡單的安卓遊戲。對於得分部分,我有許多網站上的分享喜好是最好的保存高分。現在,如果我需要在我的遊戲中保存不同級別的高分,該怎麼辦?我想保存前三位得分手分數,每個級別...在Android遊戲中保存高分 - 共享首選項
0
A
回答
3
要保存你的分數,你可以做這樣的事情:
// prepare the data: put the String values of the scores of the first 3 users
// in one String array for each level
String[] firstLevelHighscores = new String[] {
firstUserLevel1Score, secondUserLevel1Score, thirdUserLevel1Score
};
String[] secondLevelHighscores = new String[] {
firstUserLevel2Score, secondUserLevel2Score, thirdUserLevel2Score
};
String[] thirdLevelHighscores = new String[] {
firstUserLevel3Score, secondUserLevel3Score, thirdUserLevel3Score
};
// now save them in SharedPreferences
SharedPreferences sharedPref = getSharedPreferences("LevelScores",
Context.MODE_PRIVATE);
Editor editor = sharedPref.edit();
editor.putStringSet("level1", firstLevelHighscores);
editor.putStringSet("level2", secondLevelHighscores);
editor.putStringSet("level3", thirdLevelHighscores);
請注意,您可以將更多用戶的分數放入字符串數組中。如果您需要爲更多級別保存分數,則只需創建更多陣列即可。
從SharedPreferences檢索保存的數據,你做這樣的:
SharedPreferences sharedPref = getSharedPreferences("LevelScores",
Context.MODE_PRIVATE);
String[] firstLevelHighscores = sharedPref.getStringSet("level1", null);
String[] secondLevelHighscores = sharedPref.getStringSet("level2", null);
String[] thirdLevelHighscores = sharedPref.getStringSet("level3", null);
我假設你能夠轉換到int
和String
,反之亦然。希望這種方式適合你。
1
很多方法來你的分數保存到SharedPreference
。全部取決於你的實施風格。
您可以簡單地使用putStringSet(key, String[])
其中的關鍵將是水平和字符串[]的1ste,第2和3TH地方。
+0
做到了這個問題:) – Shashank 2013-04-12 05:21:02
-1
得分設定
static final String[] LEVEL = {"level1","level2","level3"};
int bestScore1 = 100;
int bestScore2 = 90;
int bestScore3 = 80;
SharedPreferences sp = getSharedPreferences(LEVEL[0],Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("First", bestScore1);
editor.putInt("Second", bestScore2);
editor.putInt("Third", bestScore3);
editor.commit();
,但你需要計算水平指數
成績獲得
SharedPreferences sp = getSharedPreferences(LEVEL[0], Activity.MODE_PRIVATE);
bestScore1 = sp.getInt("First", 0);
bestScore2 = sp.getInt("Second", 0);
bestScore3 = sp.getInt("Third", 0);
嗯..但我認爲這不是你的問題最好的辦法:<
+0
在我的第一次嘗試中,我也以同樣的方式思考。但特里已經很好地解釋了它。 – Shashank 2013-04-12 05:24:19
相關問題
- 1. Android共享首選項繼續遊戲按鈕不起作用
- 2. 在共享首選項中保存用戶ID Android
- 3. 共享首選項保存Textview背景
- 4. 保存意向共享首選項
- 5. Android共享首選項
- 6. 共享首選項Android
- 7. Android共享首選項
- 8. 共享首選項Android存儲數據
- 9. 共享首選項存儲
- 10. 共享首選項
- 11. EditText中的文本未保存在共享首選項中
- 12. Android Studio:共享首選項保存到文件
- 13. 共享首選項
- 14. 共享首選項存儲在哪裏?
- 15. 通過遊戲中心分享保存的遊戲數據?
- 16. 保存選項菜單共享首選項
- 17. 在共享首選項中保存R ID
- 18. 從共享首選項列表中保存複選框狀態
- 19. Android遊戲:高分
- 20. 如何在android遊戲中實現高分保存?
- 21. 如何使用共享首選項在android中保存editText中的數據
- 22. 在android中使用共享首選項存儲密碼
- 23. Android如何在共享首選項中存儲spanned文本
- 24. 在android中使用共享首選項存儲用戶名
- 25. 在共享首選項中存儲機密數據 - android
- 26. 無法在共享首選項中存儲設備名稱android
- 27. 使用共享首選項
- 28. 共享首選項關閉
- 29. 保存用戶在Android中使用共享首選項輸入的URL
- 30. 將高分保存爲遊戲
高分是爲特定的設備或世界各地的設備? – 2013-04-09 09:40:55
問題在哪裏? – skywall 2013-04-09 09:42:56