Android应用程序更新而不丢失数据

Android应用程序更新而不丢失数据,android,updating,serializable,data-management,Android,Updating,Serializable,Data Management,我是Android开发的新手,所以我正在尝试开发一个存储仓库信息的应用程序。但是,我担心如果执行更新,用户数据会丢失。我是否必须管理哪些数据在更新时应保持不变 另外,我想知道如果我想保证数据的安全,使用可序列化类或使用SQL数据库是否会有什么不同 非常感谢:)如果服务器空间不是一个选项,我建议使用SharedReferences。只要你的软件包名称没有改变,你的所有数据都将在更新后保留。当你更新应用程序时,SharedReferences和SQLite不会丢失数据。因此,您可以在那里存储数据。也

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

另外,我想知道如果我想保证数据的安全,使用可序列化类或使用SQL数据库是否会有什么不同


非常感谢:)

如果服务器空间不是一个选项,我建议使用
SharedReferences
。只要你的软件包名称没有改变,你的所有数据都将在更新后保留。

当你更新应用程序时,
SharedReferences
SQLite
不会丢失数据。因此,您可以在那里存储数据。也可以将数据存储在外部存储器或远程服务器中

根据中的第2节,serialize类是不安全的,如果您想保证数据的安全,那么您可以参考更多信息。有些工具可以对数据库进行加密,但最好在插入数据库之前对数据进行加密。

1)只有在卸载应用程序时,升级过程中才会丢失任何数据。但是,如果在不同版本之间更改数据格式,则必须实现一些迁移代码


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

您可以压缩数据,稍后在云中上传数据,然后进行同步并重新构建数据。