7

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

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

非常感谢 :)

4

3 回答 3

3

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

根据本文的第 2 节,序列化类是不安全的,如果你想保证数据的安全,那么你可以参考这篇文章了解更多信息。有一些工具可以加密您的数据库,但最好在插入数据库之前加密您的数据。

于 2015-07-05T01:14:59.840 回答
2

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

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

于 2015-07-05T01:23:34.153 回答
1

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

于 2015-07-05T01:02:23.673 回答