【问题标题】:Best practices for infrequent updating to an Android database?不经常更新到 Android 数据库的最佳实践?
【发布时间】:2011-03-26 13:57:37
【问题描述】:

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

由于数据库/应用程序的性质,不可能将数据放到网上()。

我假设我将安装带有大量插入的数据库(onCreate),然后不时更新它,然后在每个新版本中插入更多行(onUpdate?)。此过程的最佳做法是什么?

  1. 我是否应该有一个 XML(或其他结构)文件来模拟数据并在每次更新时插入每个新行?
  2. 在每次更新时,我应该删除 所有 旧数据,还是在 onUpdate() 中保留依赖于当前与新数据库版本的过程(例如:版本 X然后更新这些行并添加这些...)?
  3. 用户可以更改每一行的列(特定于那个用户)。将其存储在首选项文件中是否更有意义?

使用已部署的数据库对我来说是新事物,因此我们将不胜感激!

谢谢!

【问题讨论】:

    标签: android database sqlite


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      相关资源
      最近更新 更多