保存得分较高的Andr​​oid游戏 - 共享preferences [英] Saving high scores in Android game - Shared Preferences

查看:134
本文介绍了保存得分较高的Andr​​oid游戏 - 共享preferences的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近我正在开发一个简单的Andr​​oid游戏。对于得分的部分,我有许多共享preferences是最好的保存高分网站。现在,如果我需要什么,以节省高分不同程度的在我的游戏?我想保存前三位得分手得分为每个级别...

Recently I am developing a simple android game. For the scoring part, I have on many websites that shared preferences are best to save the high score. Now, what if I need to save high scores of different levels in my game? I wish to save top three scorers score for each level...

推荐答案

要保存你的分数,你可以做这样的事情:

To save your scores you can do something like this:

// 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);

请注意,你可以把更多的用户的恩怨到字符串数组。如果您需要保存的分数多层次,您只需创建多个阵列。

Note that you can put even more user's scores into the String array. And if you need to save scores for more levels, you simply create more arrays.

要从共享preferences检索保存的数据,你这样做是这样的:

To retrieve the saved data from SharedPreferences, you do it like this:

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 转换为字符串,反之亦然。希望它为你这样的。

I assume you're able to convert int to String and vice versa. Hope it works for you this way.

这篇关于保存得分较高的Andr​​oid游戏 - 共享preferences的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆