Android 应用更新不丢失数据

Android App Updating Without Losing Data

我是 Android 开发的新手,所以我正在尝试开发一个存储仓库信息的应用程序。但是,我担心如果执行更新,用户数据会丢失。我是否必须管理哪些数据在更新时应保持不变?

此外,我想知道如果我想保持数据安全,使用可序列化 class 或使用 SQL 数据库是否会有任何不同。

非常感谢:)

如果服务器 space 不是一个选项,我建议使用 SharedPreferences。只要您的包名称没有更改,您的所有数据都将在更新后持续存在。

更新应用时,SharedPreferencesSQLite不会丢失数据。所以你可以在那里存储数据。或者您可以将数据存储在外部存储或远程服务器中。

根据 this article, the serialize class is not safe, if you want to keep the data safe, then you can refer this post 中的第 2 部分了解更多信息。有一些工具可以加密您的数据库,但最好在将数据插入数据库之前加密您的数据。

1) 升级过程中不会丢失任何数据,只有在您卸载应用程序时才会丢失。但是要非常小心,如果你改变版本之间的数据格式,你将不得不实现一些迁移代码。

2) SQLite 数据在升级过程中是安全的,包括 Android 系统升级。但是,Serializable 不是。永远不要使用 Serializable 来长期可靠地保存数据。使用 JSON、XML 或协议缓冲区之类的东西来序列化您的对象。