在 Android 游戏中保存高分 - 共享首选项

2024-02-21

最近我正在开发一个简单的android游戏。对于评分部分,我在许多网站上都提到共享偏好最能保存高分。现在,如果我需要保存游戏中不同关卡的高分该怎么办?我希望保存每个级别的前三名得分手的得分......


要保存您的分数,您可以执行以下操作:

// 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 to String反之亦然。希望这种方式对你有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 游戏中保存高分 - 共享首选项 的相关文章

随机推荐