在 App Update/Reinstall Rollout Xamarin 上保留 SQLite 数据库数据

Preserving SQLite db data on App Update/Reinstall Rollout Xamarin

我有 Xamarin.Forms 个共享项目,目前正在 Android phone 上进行测试。

截至目前,sqlite 数据库存储在 System.Environment.SpecialFolder.Personal

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

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

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

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

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

如果用户想要在应用程序 Uninstall/Reinstall 之后保留 his/her 数据,该选择什么?

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

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

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

如有任何关于此主题的建议,我们将不胜感激。

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