I have developed a warehouse ā€¨delivery app (track and trace) for Android handheld scanners with Flutter and Objectbox as local database. After few months I changed my OS from win10 to Ubuntu 21 and reloaded my project from git. A few days ago, after making some updates to the app, I created a release version and sent the apk file to the client via Skype. Since I hadn't changed the package name I thought my new version would just update the old version, but unfortunately it removed the old program and installed a new version with the raw database. Their information was very important, so I need to restore the old database and use it instead of the current raw database. I will be very grateful if any professional can help me with some way to restore the previous db.
Related
I have an android app developed using adobe AIR SDK 16 and Flash CS6. Every time i publish/debug the app directly in the connected device. But every time i publish the app the data(image, text files) saved in the application storage directory including the sqlite file is removed. Hence i have to recreate all the data again to test. Is there a way to install/public an apk without losing the data created by the installed app? I tried with changing the version number. But it did not work. Please help me
thanks
thanks for the replay, I found a way (from adobe forum). When we update an app from google play, the data will not be deleted. In my case the data is deleted because flash will first uninstall the app(this will clear the data) then install the new app again. To solve this, one way is instead of publishing directly use flash to publish the app and copy the apk into the android device and use any file explorer software to install it manually. This will not delete the data
I'm developing an Cordova app using Cordova 3.5, and I have a question about data storage. How to keep data alive in new app version? Can I just use LocalStorage or WebSQL? or I need some others?
the localstorage is persistent. if you update the app all the saved key-value-pairs are still there.
but if you delete the app and reinstall it again they are gone!
WebSQL - i dont know!
But why dont you try it on your own?
I'm updating my app on play store and some user reporting that their data gone after updating (I got a lot of 1 star and bad reviews because of that).
So now I store the data in file on SD CARD or in the cloud. Big performance hit.
I want to publish an Android application that I have developed but have a minor concern.
The application will load with a database file (or sqlite3 file). If updates arise in the future and these updates are only targeting the application's functionality without the database structure, I wish to allow users to keep their saved entries in their sqlite3 files.
So what is the best practice to send updates? Compile the apk files with the new updated code only and without the database files? Or is there any other suggestion?
PS: I am not working with Java and Eclipse, but with python for Android and the Kivy platform which is an amazing new way for developing Android applications.
if you're using local sqlite then you have to embed the database file within the app as failure to do so it means there's no database, in case for updates database have version numbers where as it can not upgrade the database provided the version number is the same as the previous app updates
I had the same issue when I started my app but since kivy has no solution for this I tried to create a directory outside my app directory in android with a simple os.mkdir('../##') and I put all the files there. Hope this helps!
I am looking for information about the upgrade process in android. I mean I want to know if the application is reinstalled? Is the cache cleared? Is the external storage folders deleted (as these are deleted during uninstall)? etc.
AFAIK, no, nothing changes except for the apk. This includes res/ and assets/, but will not include anything stored to the device's /sdcard/data/ directory.
If there is a sql lite database, it should be associated with a version number. If the db has to change in an upgrade, it is the developer's responsibility to implement a database upgrade for existing database, within their new release.
Keep in mind if the developer wants to, they can delete external resources. But natively, no Android will leave folders in /sdcard/data/ or whereever they might be stored.
Also, yes, the cache is cleared. This is actually from uninstalling the older version before reinstalling the new one.
From what I gather here: http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/android-market/technical-help/0y8wNUhZEWo
It only replaces the .apk file.
I published an application that stores data in a local database.
Now I have to publish an update to this application to fix some little bugs, but I am afraid that downloading and installing the update will delate the local database associated with the previous version.
I would like to know how the update system works. Will installing an update completely delete all the apk, files, databases associeted with the previous version?
If so, how can I avoid this in my code?
Thanks a lot for your help!!
Installing an update will completely delete all the apk, files, databases associeted with the previous version?
No, it doesn't. If the user uninstalls the application, those files will be removed, but an update leaves those files in place.
your database data will not be removed with an update, unless you explicitly delete it in the code. if you increment your database version, your onUpgrade method will be called and those are the changes that will be made for this new version.