2014-04-24 56 views
3

我正在构建一个应用程序,该应用程序目前在其少数表格之一中有11列和120行的文本数据。它可能是用户预填充的唯一表格,但是,我想弄清楚填充数据的最佳方法。我看到一些不同的选择。Android - 预填充数据库,插入还是预加载?

  1. 在数据库中的OnCreate
  2. 运行插入语句创建已经有数据资产文件夹中的表和复制过来 创建应用程序时。

什么是这样的最佳做法?随着时间的推移,数据库将被更新几行。我每月看几行,没有太大的意义。

任何帮助将不胜感激。

回答

6

什么是这样的最佳做法?

选项#2,特别是using SQLiteAssetHelper。它将比执行SQL事务更快,并且更容易,因为预加载的内容变得更加复杂。

随着时间的推移,数据库将被更新几行。我每月看几行,没有太大的意义。

如果数据库是纯粹的只读(即,不会被你的应用程序在运行时根据用户输入修改),你必须通过更新到应用程序本身分发您的更新的选项。否则,您需要下载这些更改的信息并应用它们,可能是为了响应GCM消息或非常偶然的轮询检查。

+0

我不介意发布应用程序的更新,因为有时候额外的行会以块的形式出现,所以更新不会那么频繁。我只需更新资产文件夹中的预填充文件并将其复制一遍?基本上覆盖旧的数据? 用户不会修改数据,严格只读。 – Rob

+1

@Rob:“我只需更新资产文件夹中的预填充文件并将其复制一次?实质上覆盖旧数据?” - 是的,['SQLiteAssetHelper'为此模式提供'setForcedUpgrade()'](https://github.com/jgilfelt/android-sqlite-asset-helper#upgrades-via-overwrite)。 – CommonsWare