Android应用更新而不丢失数据

时间:2015-07-04 20:13:00

标签: android updating serializable data-management

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

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

非常感谢:)

3 个答案:

答案 0 :(得分:3)

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

根据this article中的第2部分,序列化类不安全,如果您想保持数据安全,那么您可以参考this post以获取更多信息。有些工具可以对数据库进行加密,但在插入数据库之前,最好先对数据进行加密。

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

如果服务器空间不是我建议使用background: url('../assets/splash.png') no-repeat center center fixed;的选项。只要您的软件包名称没有更改,您的所有数据都将在更新后持续存在。