首页 > 解决方案 > 在 App Update/Reinstall Rollout Xamarin 上保留 SQLite db 数据

问题描述

我目前正在 Android 手机上测试 Xamarin.Forms 共享项目。

sqlite db 目前已存储在System.Environment.SpecialFolder.Personal其中。

我想确保保存存储在 db 中的用户输入数据:

1 每次下一次升级时,我都在计划一个应用程序,以及

2 在用户完全删除他的应用程序并重新安装的其他情况下

(我想这是两种完全不同的情况,但我可能错了)

我想知道通过 Google Play Store Update 更新应用程序是否也会覆盖 db 文件,因此所有数据都会丢失?还是会保留数据?

如果用户想在应用程序卸载/重新安装后保留他/她的数据,会有什么选择?

在第二种情况下,我正在考虑手动/自动备份使用中的 SpecialFolder.Personal 数据库版本,并使用 External_STORAGE 权限将其存储为包外的单独文件。

然后,用户将能够将外部数据库文件副本中的数据导入到包中的文件中。

另外,导入应该是什么样子?我可以简单地用外部文件替换文件吗?

任何有关此主题的建议将不胜感激。

标签: androidsqlitexamarindatabase-backups

解决方案


  1. 来自 Google Play 的更新不会覆盖 db 文件
  2. 如果用户卸载应用程序,他会想要删除与应用程序相关的所有内容。所以我最好的解决方案是在你的 API 中有一个同步方法,这样当用户再次安装应用程序时,它将用请求的数据填充本地数据库。

推荐阅读