2013-02-08 41 views
0

您好我需要建议如何为我的应用程序创建sqlite数据库。你看,我有一个连接到php/mysql平台的服务器数据库的应用程序。我需要我的android应用程序有一个sqlite数据库是服务器数据库的最小版本,特别是只有与使用该应用程序的用户类型相关的数据。从服务器MySQL数据库创建SQLite版本

有些事情我已经考虑:

  1. 安装预填充的sqlite的分贝的APK。这个肯定会使APK包变大。
  2. 第一次使用应用程序时创建sqlite数据库,连接到服务器并提取必要的数据来填充sqlite数据库。我不知道如何做到这一点,因为我通常使用json从服务器中提取数据。这可能会花费很多时间,因为每条记录都会被插入到sqlite表中。
  3. 我正在考虑请求服务器根据最新的一组数据创建一个预填充的sqlite数据库。然后,该应用程序会下载这个生成的SQLite数据库,并将其传输到我的Android应用程序。

对此的任何想法将不胜感激。如果您有其他建议,请告诉我。

回答

1

如果我是你,我会选择选项3:让服务器准备SQLite数据库并使用zip或gzip或类似的东西压缩它。根据您的数据,SQLite数据库应该从原始大小压缩2x到5倍。

然后你的apk连接到服务器,下载压缩的SQLite数据库,解压缩到应用程序主目录(或SD卡,如果你有权限并希望这样做)。

从这里开始,你只需从你的应用程序连接到这个数据库。如果你想下载更新,最好不要重新下载整个数据库,而是实施增量更新。如果服务器足够聪明,它可以提供另一个较小的SQLite数据库,只有增量更新(也是压缩的)。或者,它可以提供文本SQL脚本(再次压缩),通过执​​行它获得必要的更新(以及可能的架构更改)。

+0

嗨,非常感谢你的回复。然后,我会采用这种方法并添加您的建议,尤其是压缩。再次,非常感谢mvp – Strategist

相关问题