开发者

Android: In-App In-Place Updating

开发者 https://www.devze.com 2023-03-11 06:07 出处:网络
I have an Android app, where a part of the app is a list of data which is currently contained in a string-array (in an xml resource). I currently release updates every so often to the actual app, whic

I have an Android app, where a part of the app is a list of data which is currently contained in a string-array (in an xml resource). I currently release updates every so often to the actual app, which do nothing more than update this list of data. (yes, in hindsight this method was a bad idea to start with).

My goal now is to change this so that I will be able to only update that one part of the app that needs to be changed. I have a webserver, and am now serving a JSON version of the data off a URL. So all the app has to do is hit that URL, check if it changed (perhaps using a version number), and then upd开发者_如何学JAVAate.

My problem lies in the actual implementation:

  • Where/how should I store this data? As a raw file? SharedPrefs? Database? [i.e. what are the pros and cons of each]
  • How can I preform a seamless upgrade where even if something devastating happens during the update [such as a user pulling a battery...], it still won't break the app?
  • Should the updating code live in a service?


I would separate your data crud into a small background service. Use the provided SQLLite. To verify data consistency you could use md5 checks, database rollback features and most importantly design a small set of tests. One only sending a partial file, i.e. "the broken transmission test", garbage file, etc. Keep it a separate and testable component of your app.

0

精彩评论

暂无评论...
验证码 换一张
取 消