2013-02-28 48 views
0

新手问题。 我需要为iPad应用程序提供约200个UIImage(其中单个尺寸小于500kb)的数据库。客户希望有可能不时在appstore中发布新版本的应用程序,而且应用程序必须在没有连接到网络(设备上的本地数据库)的情况下才能更改此图像集。我不明白这可以同时完成,我看到这里只有一个常见的选项:iOS数据库架构决定

  • 图像数据库将存储在服务器上,哪个应用程序客户将随时可以更改。用户需要建立网络连接,每次他将启动应用程序 - 现有的数据库将加载到应用程序中。这里

主要问题: 是有可能不释放和应用程序的新版本什么数据库管理系统是更合适的这种情况来更新用户设备上的数据库(SQLite的,MySQL的等...)?

回答

1

照片驻留在Web服务器上。 许多启动照片可能位于边界内,因此应用程序在启动时并不真正为空。 但是,下载应用程序时,用户必须在线。在大多数情况下,当他第一次启动应用程序时,他仍然会直接在线。

服务器提供两种服务:

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

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

  3. 如果他们是那么用户被问到,他是否想要下载它们。

  4. 如果用户说YES然后应用程序发送的版本号和/或最后日期和/或当地所有照片到服务器ID和 服务器提供了有关该照片已经 添加的信息以及在何处下载那张照片,并且必须删除 。

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

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

3

问:是否有可能更新用户设备上的数据库而无需发布新版本的应用程序? 答:是的。有可能的。

SQLite将是您的完美选择。

+0

我是否理解,在这种情况下,我需要为本地SQlite数据库实现核心数据并定期从服务器更新它? – Alex 2013-02-28 12:08:52

+1

完美!并且为了从web服务器获取值,您可以在后台为您的应用程序执行此操作,以便用户无需等待其加载。 – Yashesh 2013-02-28 12:11:04