Questions About Android Application Update
A few questions : What implications does upgrading an app have on stored data i.e. Preferences and database? Does the system perform a clean install of the new version(i.e. remove
Solution 1:
- All data persists (files, preferences, databases). Databases are special as you can specify a database version and if it detects the version changed it will call your
onUpgrade(). For all others you're responsible of updating them to the new version, if needed. - As I said in 1, Android persists everything. It's up to you to handle any changes in the way you store your data.
- Use
adb install -r /path/to/newApk.apk(notice the-rflag, which tells adb to reinstall). Basically, the workflow should be the following:
.
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 0Other notes: Yes, the app performs a clean removal of your app before installing the new version. As I said, however, your app's data is not removed. Still, you have to be careful, because this removal causes a few things:
- Any processes related to your app are killed (so if your app is running -- any activities, services, anything, all components will be killed).
- Anything related to your app is removed from the system, like notifications pushed via the
NotificationManager, alarms set via theAlarmManager, etc. I'm not sure what happens to any widgets you might have (never worked with widgets).
Solution 2:
- You have to take care about that for yourself. Look for
onUpgrade()method i.e. - As you have to take care for yourself, you can give the user the possibility to do everything.
- You should ensure you have the reinstall option set. Adb should update your application correctly than.
Post a Comment for "Questions About Android Application Update"