2013-02-08 42 views
0

您好我需要建議如何爲我的應用程序創建sqlite數據庫。你看,我有一個連接到php/mysql平臺的服務器數據庫的應用程序。我需要我的android應用程序有一個sqlite數據庫是服務器數據庫的最小版本,特別是只有與使用該應用程序的用戶類型相關的數據。從服務器MySQL數據庫創建SQLite版本

有些事情我已經考慮:

  1. 安裝預填充的sqlite的分貝的APK。這個肯定會使APK包變大。
  2. 第一次使用應用程序時創建sqlite數據庫,連接到服務器並提取必要的數據來填充sqlite數據庫。我不知道如何做到這一點,因爲我通常使用json從服務器中提取數據。這可能會花費很多時間,因爲每條記錄都會被插入到sqlite表中。
  3. 我正在考慮請求服務器根據最新的一組數據創建一個預填充的sqlite數據庫。然後,該應用程序會下載這個生成的SQLite數據庫,並將其傳輸到我的Android應用程序。

對此的任何想法將不勝感激。如果您有其他建議,請告訴我。

回答

1

如果我是你,我會選擇選項3:讓服務器準備SQLite數據庫並使用zip或gzip或類似的東西壓縮它。根據您的數據,SQLite數據庫應該從原始大小壓縮2x到5倍。

然後你的apk連接到服務器,下載壓縮的SQLite數據庫,解壓縮到應用程序主目錄(或SD卡,如果你有權限並希望這樣做)。

從這裏開始,你只需從你的應用程序連接到這個數據庫。如果你想下載更新,最好不要重新下載整個數據庫,而是實施增量更新。如果服務器足夠聰明,它可以提供另一個較小的SQLite數據庫,只有增量更新(也是壓縮的)。或者,它可以提供文本SQL腳本(再次壓縮),通過執​​行它獲得必要的更新(以及可能的架構更改)。

+0

嗨,非常感謝你的回覆。然後,我會採用這種方法並添加您的建議,尤其是壓縮。再次,非常感謝mvp – Strategist

相關問題