不经常更新到Android数据库的最佳做法?

时间:2011-03-26 13:57:37

标签: android database sqlite

我有一个Android应用程序,它首次打开时会在设备上安装一个数据库(所有表中约有2000行)。用户可以对其进行微小更改(仅限一列),并且仅在新版本发布时进行更新。

由于数据库/应用程序的性质,无法将数据放在网上(尚未)。

我假设我将使用大量插入来安装数据库(onCreate),然后不时地更新它,然后在每个新版本中插入更多行(onUpdate?)。这个程序的最佳实践是什么?

  1. 我是否应该有一个模仿数据的XML(或其他结构)文件,并在每次更新时插入每一行?
  2. 在每次更新时,我应该删除所有旧数据,或者保留onUpdate()中依赖于当前vs新数据库版本的程序(例如:version< X 然后更新这些行并添加这些......)?
  3. 用户可以更改每行的列(特定于那个用户)。将它存储在首选项文件中更有意义吗?
  4. 使用已部署的数据库对我来说是新的,所以任何帮助都将不胜感激!

    谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,我可以建议迁移方式。将数据版本保留在数据库中。使每个应用程序分发包含1.0到1.3.upd,1.3到1.4.upd等文件,保存所有更新数据以转换到新版本的数据。

每个OnUpdate()都应检查数据库中的数据版本,并检查它所具有的* .upd文件列表,以确定是否需要更新数据。然后逐个应用必要的更新,每次都在db中增加数据版本。

这就像VBulletin和XenForo论坛更新一样。