2011-06-07 52 views
0

我有一個Android應用程序,其中應用程序的一部分是當前包含在字符串數組(在xml資源中)的數據列表。我目前每隔一段時間就會發布一次更新到實際應用程序的更新,除了更新此數據列表之外別無它物。 (是的,事後看來,這種方法從一開始就是一個糟糕的主意)。Android:應用程序內置更新

我現在的目標是改變這一點,以便我只能更新需要更改的那部分應用程序。我有一個網絡服務器,現在正在提供一個JSON版本的數據。因此,所有應用程序所要做的就是點擊該URL,檢查是否更改(可能使用版本號),然後更新。

我的問題在於在實際執行:

  • 在哪裏/我應該如何存儲這些數據?作爲一個原始文件? SharedPrefs?數據庫? [即每種產品的優缺點是什麼]
  • 如何在無縫升級時進行無縫升​​級,即使在更新過程中發生破壞性事件[例如用戶拉動電池......],它仍然不會破壞應用程序?
  • 更新代碼是否應該存在於服務中?

回答

0

我會分開你的數據crud到一個小型的後臺服務。使用提供的SQLLite。要驗證數據一致性,您可以使用md5檢查,數據庫回滾功能,最重要的是設計一小組測試。一個只發送一個部分文件,即「破壞的傳輸測試」,垃圾文件等。保持它是一個單獨的,可測試的應用程序組件。