Android保存总分

时间:2016-02-17 21:53:22

标签: android int save

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

我查看了SharedPreferences,但这似乎更多是为了保存不会发生变化的高分。

有没有办法让我保存一个分数,这个分数会随着更多游戏的播放而改变?

我认为我需要做以下事情:

  • 检索已保存的分数
  • 将其放入变量
  • 更改该变量
  • 在游戏结束时或每次更改时保存它(取决于它是否会影响性能)

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

3 个答案:

答案 0 :(得分:3)

我相信你可以为此目的使用共享偏好。 它可用于保存您的分数,覆盖分数并检索分数。 共享首选项使用Key值对。

答案 1 :(得分:0)

我不确定为什么你会得出结论,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

答案 2 :(得分:0)

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

SELECT score from ScoreTable where id = userId;

将检索值分配给变量。

在游戏结束时//更新分数值

int finalScore = initialscore + newScore

UPDATE ScoreTable SET score = finalScore WHERE id = userId