Android:应用程序内置更新

问题描述:

我有一个Android应用程序,其中应用程序的一部分是当前包含在字符串数组(在xml资源中)的数据列表。我目前每隔一段时间就会发布一次更新到实际应用程序的更新,除了更新此数据列表之外别无它物。 (是的,事后看来,这种方法从一开始就是一个糟糕的主意)。Android:应用程序内置更新

我现在的目标是改变这一点,以便我只能更新需要更改的那部分应用程序。我有一个网络服务器,现在正在提供一个JSON版本的数据。因此,所有应用程序所要做的就是点击该URL,检查是否更改(可能使用版本号),然后更新。

我的问题在于在实际执行:

  • 在哪里/我应该如何存储这些数据?作为一个原始文件? SharedPrefs?数据库? [即每种产品的优缺点是什么]
  • 如何在无缝升级时进行无缝升​​级,即使在更新过程中发生破坏性事件[例如用户拉动电池......],它仍然不会破坏应用程序?
  • 更新代码是否应该存在于服务中?

我会分开你的数据crud到一个小型的后台服务。使用提供的SQLLite。要验证数据一致性,您可以使用md5检查,数据库回滚功能,最重要的是设计一小组测试。一个只发送一个部分文件,即“破坏的传输测试”,垃圾文件等。保持它是一个单独的,可测试的应用程序组件。