从服务器MySQL db创建SQLite版本

时间:2013-02-08 05:25:37

标签: php android mysql sqlite

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

我考虑过的一些事情:

  1. 将预先填充的sqlite数据库附加到APK。这个肯定会使APK包大。
  2. 首次使用应用程序时创建sqlite数据库,连接到服务器并提取必要的数据以填充sqlite数据库。我不知道如何做到这一点,因为我通常使用json来从服务器中提取数据。这可能也需要花费很多时间,因为每个记录都将插入到sqlite表中。
  3. 我在考虑请求服务器根据它拥有的最新数据集创建一个预先填充的sqlite数据库。然后应用程序将下载此生成的sqlite数据库并将其传输到我的Android应用程序。
  4. 对此的任何想法都将非常感激。如果您有其他建议,请告诉我。

1 个答案:

答案 0 :(得分:1)

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

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

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