我的服务器上有一个大约 3mb 大的数据库。我想将它与我的 iphone 应用程序一起发布。
最重要的是,我想将数据库的更改(插入、更新、删除)推广到 iphone。这样做的最佳方法是什么?我的意思是-服务器-客户端(= iphone)-之间需要什么;如何传输这些数据?
我在使用服务器端技术方面很自由;现在,我在服务器上有一个 sqlite 数据库,里面装满了我想同步到 iphone 的数据。
我的服务器上有一个大约 3mb 大的数据库。我想将它与我的 iphone 应用程序一起发布。
最重要的是,我想将数据库的更改(插入、更新、删除)推广到 iphone。这样做的最佳方法是什么?我的意思是-服务器-客户端(= iphone)-之间需要什么;如何传输这些数据?
我在使用服务器端技术方面很自由;现在,我在服务器上有一个 sqlite 数据库,里面装满了我想同步到 iphone 的数据。
您需要多久更新一次数据库,更改的紧急程度如何?
如果数据库更新不频繁且不紧急,我会让应用程序在启动时检查数据库的新版本,如果它已更改,请下载整个新文件。
该应用程序总是会在启动时从已知 URL 下载一个小的元数据文件。元数据文件包含最新版本的版本标识符和可以下载该数据库版本的位置。如果版本标识符与应用程序已有的版本不同,将下载新版本。如果版本标识符没有改变,或者无法检查,应用程序可以继续使用它拥有的版本。
专业提示:如果要显示下载进度条,请在元数据文件中包含数据库的大小。蜂窝网络通常具有透明代理,可以从 HTTP 响应中去除 Content-Length 标头。
想知道您是否考虑过使用同步框架来管理同步。如果您对此感兴趣,可以查看开源项目 OpenMobster 的 Sync 服务。您可以执行以下同步操作
除此之外,所有修改都会自动跟踪并与云同步。当网络连接中断时,您可以让您的应用程序离线。它将跟踪任何更改,并在连接返回时自动在后台将其与云同步。它还提供跨多个设备的同步,如 iCloud
此外,云中的修改使用推送通知进行同步,因此即使数据存储在本地,数据也始终是最新的。
这是开源项目的链接:http: //openmobster.googlecode.com
这是 iPhone App Sync 的链接:http ://code.google.com/p/openmobster/wiki/iPhoneSyncApp
尝试使用网络挂钩。
WebHook 的概念很简单。WebHook 是一个 HTTP 回调:当某事发生时发生的 HTTP POST;通过 HTTP POST 的简单事件通知。
当某些事情发生时,实现 WebHooks 的 Web 应用程序将向 URL 发布消息。当 Web 应用程序允许用户注册他们自己的 URL 时,用户可以扩展、自定义和集成该应用程序与他们自己的自定义扩展,甚至与 Web 周围的其他应用程序。对于用户而言,WebHooks 是一种在发生有价值的信息时接收它的方式,而不是不断地轮询该数据并且大部分时间都没有收到任何有价值的信息。WebHooks 具有巨大的潜力,并且仅限于您的想象力!(不,它不能洗碗。然而。)
您可以在此处找到有关 Webhooks 的更多信息: http ://www.webhooks.org/和http://webhooks.pbworks.com/