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 –