iPhone SQLite DB和基于Web的数据库同步和交互建议

时间:2009-01-16 18:18:36

标签: iphone database json sqlite

我正在开发第二个iPhone应用程序,我正在寻找有关数据库处理的架构建议。

这个想法是: 1.信息数据库存储在服务器(LAMP堆栈)上,信息通过JSON传递给设备。这部分已经实施。

  1. 用户可以“收藏”数据库中的项目,该项目将其存储在本地设备上的SQLite中。

  2. 用户还可以向远程服务器提交尚未存在的新项目,使其可供其他用户使用。

  3. 用户可以通过单个搜索界面搜索这两个数据库,以查找项目。

  4. 我正在尝试为此决定数据结构,以及如何处理数据库中的结果对象。我想我有两个对象选项:

    1. 远程数据库和本地数据库具有相同的对象类型,本地数据库存储远程项目的ID以链接两个

    2. 远程项目和本地项目的单独对象

    3. 非常感谢任何想法,想法等!

4 个答案:

答案 0 :(得分:8)

您需要编写自己的同步引擎。我在一个记录级,历史驱动的同步引擎上发布了一套冗长的笔记,我在葡萄酒期刊应用程序中写道,你可以在这里找到...

http://blog.deeje.tv/musings/2009/06/notes-on-writing-a-history-driven-client-server-synchronization-engine.html

答案 1 :(得分:1)

如果要在数据库中拥有同步对象,可以使用修改时间戳比较和哈希列的组合来确定哪些记录是陈旧的并且需要更新。

答案 2 :(得分:0)

如果您正在寻找现有的API,QuickConnectFamily框架可以在UIWebView中使用JavaScript在浏览器和已安装的SQLite数据库中使用。我也接近为没有编写混合应用程序的人提供纯粹的Objective-C实现。

javascript版本也适用于Android。

http://www.quickconnectfamily.org

答案 3 :(得分:-1)

SQLite是否提供了同步API?