【问题标题】:Android App Updating Without Losing DataAndroid 应用程序更新而不会丢失数据
【发布时间】:2015-09-22 08:31:03
【问题描述】:

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

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

非常感谢:)

【问题讨论】:

  • 您可以将数据压缩并上传到云端,稍后同步并重新构建数据。

标签: android updating serializable data-management


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 2019-06-02
        • 2016-10-22
        • 1970-01-01
        • 2021-10-09
        • 2017-07-11
        • 2018-08-23
        相关资源
        最近更新 更多