0
每次我安裝我的應用程序apk的新版本時,應用程序似乎都會重新啓動以初始啓動,並且丟失任何現有設置和sqlite數據庫。如何在不丟失應用程序數據庫和共享首選項的情況下卸載apk文件
如何在不丟失應用程序數據庫和共享首選項的情況下卸載apk文件?
每次我安裝我的應用程序apk的新版本時,應用程序似乎都會重新啓動以初始啓動,並且丟失任何現有設置和sqlite數據庫。如何在不丟失應用程序數據庫和共享首選項的情況下卸載apk文件
如何在不丟失應用程序數據庫和共享首選項的情況下卸載apk文件?
你是否正在更改每個新的apk版本的數據庫版本?通常情況下,所有數據都保存在數據庫和共享首選項中。
因此,檢查你的邏輯並改變它。
編輯
1)無數據將在升級過程中會丟失,只有當您卸載該應用程序。但是如果您在不同版本之間更改數據格式時要非常小心,您必須實施一些遷移代碼。
2)SQLite數據在各種升級(包括Android系統升級)中都是安全的。但是,Serializable不是。永遠不要使用Serializable來長期保持數據可靠。使用類似JSON,XML或協議緩衝區的序列化對象。
我也失去了共享首選項下的設置。對於非根設備來說,應用程序數據在升級之間不會持久:[如何卸載 - android-apk-without-losing-data?rq = 1]:「如果您的數據存儲爲公共,它將保留卸載後,但如果您的數據存儲爲私人,您的數據將在卸載您的應用程序時被刪除。「](http://stackoverflow.com/questions/12748953/) – Yahia
@Yahia請檢查我更新的答案 –
取自http ://stackoverflow.com/a/31226416/2692102 –