在Android应用中不断更新数据库是一种好习惯吗?

时间:2015-11-08 07:17:33

标签: android database sqlite cloud

我正在创建一个Android记分牌应用程序,用户可以在其中更新他们的分数,稍后可以查看它们以及一些统计数据等。现在,每次用户与应用程序交互(按下按钮)时,分数都会更新。< / p>

我是否应该在用户执行的每次点击时更新SQLite数据库? (因为用户可以随时选择退出应用程序但是当他/她回来时,分数和数据应该仍在那里)或者我应该仅在每个游戏结束时更新数据库吗?

显然,第一选择对我来说更有意义,但实施它的最佳方式是什么?另外,不断更新数据库是一种好习惯吗?我应该使用后台线程吗?我应该将数据备份到服务器还是保持本地(如果应用程序被删除)? (这是我第一次创建Android应用程序并且第一次使用数据库 - 所以我不知道最佳做法是什么。)

2 个答案:

答案 0 :(得分:1)

Android框架会告诉您活动何时不再有效(Array ( [0] => Array ( [date] => 2014-11 [John] => 2135 [Adam] => 5496 ) [1] => Array ( [date] => 2014-12 [John] => 1526 [Adam] => 5481 [Lizzie] => 3476 ) ) )或可见(onPause)。这将是保护任何更改的正确时间。

答案 1 :(得分:0)

除了通过设计不断更新数据库不是一个好的做法(至少每次用户触摸屏幕时都不合理,如果你不能正确处理它,就会出现强烈的IO和并发问题),这实际上取决于你的游戏逻辑。如果游戏逻辑允许我优化它并在游戏结束时保存最终得分,那么通过在游戏中间退出,用户将失去他的分数。

关于本地vs远程数据库。我认为这取决于您是否只需要用户的全局高分表或本地。它不应该取决于用户是否删除了游戏。如果他这样做,他可能不会关心他失去的高分。