A couple of questions :

  1. What implications does improving an application dress in saved data i.e. Preferences and database? Does the machine execute a clean install from the latest version(i.e. take away the older version after which install the brand new) or something like that else?

  2. Let's say the consumer really wants to support the saved data- say values within the shared preference or perhaps a sqlite database?

  3. How do i emulate this application-update-install scenario? If I've got a version 'x' placed on my emualator and that i perform a adb install of version 'x+1' I get INSTALL_FAILED_ALREADY_EXIST error. Must I try hosting the brand new apk on the Web server, will the Package Manager take this being an update and perform the necessary?

  1. All data continues (files, preferences, databases). Databases are special as possible specify a database version and when it picks up the version transformed it'll call your [cde]. For those others you are responsible of upgrading these to the brand new version, as needed.
  2. When I stated in 1, Android continues everything. The choice is yours to deal with any changes in the manner you store your computer data.
  3. Use onUpgrade() (spot the adb install -r /path/to/newApk.apk flag, which informs adb to reinstall). Essentially, the workflow ought to be the following:



Other notes: Yes, the application works a clean elimination of your application before setting up the brand new version. When I stated, however, your app's data isn't removed. Still, you need to be careful, as this removal leads to a couple of things:

  • Any processes associated with your application are wiped out (therefore if your application is running -- any activities, services, anything, all components is going to be wiped out).
  • Anything associated with your application is taken away in the system, like notices pressed through the adb uninstall my.package adb install /path/to/old.apk # play with app, set preferences, databases, etc. adb install -r /path/to/new.apk # watch your app crash in an impressive ball of fire # fix stuff # goto 0 , sensors set through the NotificationManager, etc. I am unsure what goes on to the icons you may have (never labored with icons).
  1. You need to be mindful about this on your own. Search for AlarmManager method i.e.
  2. As you've to consider take care of yourself, you are able to provide the user the chance to complete everything.
  3. You need to ensure you will find the re-install option set. Adb should improve your application properly than.