我正在学习一些Android应用程序构建的过程。
我想在尝试在游戏中使用它之前创建一个高分系统的例子。
让我们说我有一个运行秒的计时器和一个停止按钮。如果我按下停止按钮,计时器将停止,并且它所来的号码将保存(本地)到高分列表。以前5名为例。
我如何保存这个高分?
我已经阅读了一些关于SQLite和共享偏好的内容,但我不知道该使用什么。也许还有更多的选择?我不是在寻找任何在线高分榜。
如果您知道一些好的指南/教程,请将它们链接到我。
答案 0 :(得分:1)
我使用SharedPreferences作为那种东西,虽然我认为它有点过于复杂。一旦你将它添加到你的清单中并弄清楚如何使用它,它就相当简单了。看起来之前已经涵盖了SharedPreferences的使用:How to use SharedPreferences in Android to store, fetch and edit values。当然,您也可以保存到文件中,这可能更容易,但如果您愿意,可能更容易破解。我对SQLight的评论不太了解。
答案 1 :(得分:1)
是共享偏好适合此。这是一个开始的例子 - 但更好的使用列表:
private static final String[] SCORES_KEYS = { "1", "2", "3", "4", "5" };
private static final int SCORES = 5;
//...
{
SharedPreferences sp = getDefaultSharedPreferences(); // in an activity,
// service or other context. DO NOT USE NAMED preferences
final long timer = getYourTimerScore();
int position = SCORES;
long[] lowerScores = new long[SCORES + 1];
for (int i = SCORES; i > 0;) {
long j = sp.getLong(SCORES_KEYS[--i], 0);
if (j < timer) {
--position;
lowerScores[i + 1] = j;
} else break;
}
if (position < SCORES) {
lowerScores[position] = timer;
Editor ed = sp.edit();
for (int i = position; i < SCORES; ++i) {
ed.putLong(SCORES_KEYS[i], lowerScores[i]);
}
ed.commit();
}
}