哪个xcode应用程序用于预填充数据库

时间:2010-12-19 09:25:32

标签: iphone xcode

我还在学习xcode和objective-c。我只用于为iphone环境构建应用程序。 但是,我需要使用现有的预填充sql数据库来实现应用程序。

为了预填充数据库,我不想在ditributed应用程序中使用代码,但我更愿意为此做一个单独的应用程序。

原因是,应用程序只能下载更新的数据库,而不是整个代码更新。

所以,问题是:

  1. 这是一种可能的情况
  2. 如果是,那是什么样的申请 我应该为xcode构建 预填充数据库?
  3. 感谢

2 个答案:

答案 0 :(得分:1)

没有理由你不能拥有一个既使用数据库又下载更新的应用程序。保持数据库更新而不下载整个内容非常简单。

如果在服务器上记录数据库中行的创建和修改时间戳,并在设备上跟踪这些相同的修改时间戳,则更新数据库的方式如下:

  1. 设备确定它对给定表的最新修改时间戳。我们称之为 latestTimestamp 。它将 latestTimestamp 发送到服务器。

  2. 服务器将 latestTimestamp 与数据库中的创建和修改时间戳进行比较。服务器根据比较结果发回数据:

    • 如果修改时间戳早于 latestTimestamp ,则无需发送记录,设备已经拥有该记录;

    • 如果修改时间戳稍后 latestTimestamp 且创建时间戳早于 最新时间戳 ,它会发回记录,指出它将在设备数据库中更新;

    • 如果修改时间戳稍后 latestTimestamp 且创建时间戳晚于 最新时间戳 ,它会发回记录,指出它将在设备数据库中添加

  3. 最后,服务器数据库需要跟踪已记录的每条记录的已删除记录和删除时间戳。如果 latestTimestamp 稍后而不是删除时间戳,则会发回该记录需要删除的内容。

  4. 显然,当你有各种连接表时,它会变得有点复杂,但只要事情以正确的顺序发回,它就会很好用。

    使用异步数据请求(ASIHTTPRequest库使其变得轻而易举)并在用户使用应用程序时在后台更新数据。如果在与其进行任何交互之前更新数据至关重要,则可以显示活动指示符并让用户等待。

    根本不需要单独的应用程序。

答案 1 :(得分:0)

我会劝阻你这样做。无论是预先填充数据库用途的应用程序,还是普通用途的应用程序,Apple Review Team都会使用相同的程序对待它们,让开发人员等待数周才能在App Store上最终获得该应用程序。

此外,据我所知,应用程序之间的通信仍受到严格限制。如果您想要在主应用程序和数据库应用程序之间传输的数据大于几行,比如NSString,那么从技术上来说可能是不可信的。