iOS数据库架构决策

时间:2013-02-28 11:55:58

标签: ios objective-c database ipad

新手问题。 我需要为iPad应用程序提供大约200个UIImages(其中一个小于500kb大小)的数据库。客户希望有可能不时更改此图像的集合而不在appstore中发布新版本的应用程序,并且应用程序必须在不连接到Web(设备上的本地数据库)的情况下工作。我不明白这是如何同时完成的,我在这里只看到一个常见的选择:

  • 图像数据库将存储在服务器上,任何应用客户都可以随时更改。用户需要进行Web连接,并且每次启动应用程序时 - 现有数据库都将加载到应用程序中。

主要问题如下: 是否可以更新用户设备上的数据而不发布新版本的应用程序以及哪种数据库管理系统更适合这种情况(SQLite,MySQL等...)?

2 个答案:

答案 0 :(得分:3)

问:是否可以在不发布新版应用的情况下更新用户设备上的数据? 答:是的。这是可能的。

SQLite将非常适合您。

答案 1 :(得分:1)

照片位于网络服务器上。 许多启动照片可能位于边界内,因此应用程序在开始时并非真空。 但是,下载应用程序时,用户必须在线。在大多数情况下,他在第一次启动应用程序后仍然会直接在线。

服务器提供两种服务:

  1. 一个只提供版本号的快速版本 照片数据库内容和/或最后一次更改日期 服务器上的照片。

  2. 应用程序频繁(不超过每天我会说)检查服务器上是否有新图像。

  3. 如果是,则询问用户是否要下载。

  4. 如果用户说“是”,那么应用程序会将所有本地照片的版本号和/或最后日期和/或ID发送到服务器, 服务器提供有关哪些照片的信息 添加和在哪里下载那张照片,哪些必须 被删除。

  5. 然后添加或删除或更新服务器提供的下载源中的照片。 (这可能是一个URL 当然是非常相同的服务器。)

  6. 对于200个数据集,我强烈建议使用SQLite的核心数据 - 标准的东西。 然后,您可以考虑将图像数据保存在文件系统中或数据库中的NSData属性中。