将MySQL转换为SQLite for iOS设备可以下载并使用它吗?

时间:2011-12-22 07:46:40

标签: php ios mysql sqlite

我正在使用大型数据库,我需要我的应用程序能够脱机工作。

我是iOS开发人员的新手,我从书中读过很多教程,但仍然没有经验。

我的设置是:

  1. PHP& MySQL Webserver

  2. 仅在局域网中使用,不在线上网。

  3. 我的应用应该是:

    1. 从服务器下载最新内容并存储到设备内存(或其他任何内容)

    2. 能够在设备离线时对我下载的数据进行CRUD(这是因为当用户不在Wifi区域时,所以我计划让它离线)

      < / LI>
    3. 在Wifi区域,我可以将我的更改更新回服务器

    4. 我的第一个计划是:

      从PHP服务器通过JSON格式检索我的数据并将其存储到iOS Core Data,然后通过NSUrl post或者其他东西将更改上传回服务器..我不确定

      我的第二个计划是:

      我想将MySQL转换为SQLite,因此它应该是1个文件并将其下载到iOS,因此工作负载在服务器上,而不是在iOS设备上,并使用相同的NSUrl将其发布回服务器并更新它。


      我的应用流程应该是这样的:

      开始:

      ...

      1. 检查是否需要上传任何数据?

        1.1是,上传数据:转到:2

        1.2否:转到:2

      2. 将数据库下载到设备存储器中。

      3. 用户登录。

      4. ...

        我想我应该继续我的第二个解决方案,我认为从MySQL转换到SQLite并不是很难做到但是我如何检查iOS设备何时询问该文件并且不知道该文件完成了转换?

        有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您应该将数据库作为json数组下载,将其写入本地sqlite数据库并将更改同时写入另一个表。当您需要上传更改时,请从仅包含更改的重复表中读取并更新服务器上的mysql数据库。你可以使用FMDB(见下文)来帮助ios上的sqlite。

https://github.com/ccgus/fmdb