2013-02-28 34 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