问题描述
|
我正在创建一个名为“单词混乱”的游戏,其中向用户提供了一个加扰格式的单词,用户必须对该单词进行加扰。对于每个正确答案,分数将增加10,并为用户显示当前分数。用户退出应用程序后,当前分数应存储在某个位置,例如文件或数据库(假设游戏是第一次玩),并将其显示为最高分数。假设第一次玩游戏并且分数是100,并且该值存储在文件/ DB中,第二次是当用户玩游戏并且分数是200。通过假设200是与文件或数据库中的最高分数,即100,则必须将值100替换为200,并将200显示为最高分数。每当用户想要查看最高分数时,它都应检索最高分数并将其显示在视图中。
我需要我的乡亲以下建议:
我必须使用哪种类型的数据存储系统?文件,数据库或属性文件。哪个更好。
我应该采用什么逻辑来显示最高分?
我必须为文件,数据库或属性使用Android的哪些API?
解决方法
我会推荐SharedPreferences类和api。它很简单,只需要最少的代码,非常适合在键值对中存储少量数据。
此页中对此进行了说明(以及其他数据存储方法):
http://developer.android.com/guide/topics/data/data-storage.html#pref
这是一些示例代码,经过修改后看起来像您如何使用它:
//Some strings to address your preferences
public static final String PREFS_NAME = \"JumbleWordsPreferences\";
public static final String HIGH_SCORE = \"HighScore\";
//Retrieving high score
SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
int highscore = settings.getInteger(HIGH_SCORE,0);
//Saving current score as high score
SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = settings.edit();
editor.putInteger(HIGH_SCORE,currentScore);
// Commit the edits!
editor.commit();