Android 保存总分

Android save overall score

我做了一个 android 小游戏,我在保存总分时遇到了问题,总分应该在每次应用再次启动时检索,而不是像往常一样从默认值 0 开始。

我查看了 SharedPreferences,但似乎更多的是关于保存不会改变的高分。

有什么方法可以让我保存分数,这个分数会随着游戏次数的增加而改变?

我假设我需要执行以下操作:

编辑:原来 SharedPreferences 适用于这种情况。现在有人可以提供如何实施它的答案吗?

我相信您可以为此目的使用共享首选项。 它可用于保存您的分数、覆盖分数和检索分数。 共享首选项使用键值对。

我不确定您为什么会得出 SharedPreferences 更适合不变值的结论。 我认为这是一个很好的用例。

您可以尝试其他持久性选项(例如将 SQLite 集成到您的应用程序中),但这似乎是开销最少的最快选项。

不过,如果您对其他选项感兴趣,我希望您已经浏览了 Android 文档中的存储选项:

http://developer.android.com/guide/topics/data/data-storage.html

当然,使用 SharedPreferences 必须与 Application LifeCycle 方法(例如 onResume、onPause 等)结合使用: http://developer.android.com/training/basics/activity-lifecycle/index.html

您可以使用SQLite 数据库来保存评分值。 要在数据库中检索您当前的分数,请使用此查询。

SELECT score from ScoreTable where id = userId;

将检索值分配给变量。

游戏结束时 // 更新得分值

int finalScore = initialscore + newScore

UPDATE ScoreTable SET score = finalScore WHERE id = userId