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
我做了一个 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