在 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 权限将其存储为包外的单独文件。
然后用户将能够将数据从外部数据库文件副本导入到包中的文件中。
此外,导入应该是什么样子的?
我可以简单地用外部文件替换文件吗?
如有任何关于此主题的建议,我们将不胜感激。
- 来自 Google Play 的更新不会覆盖数据库文件
- 如果用户卸载该应用程序,他将希望删除与该应用程序相关的所有内容。所以我最好的解决方案是在你的 API 中有一个同步方法,这样,当用户再次安装应用程序时,它将用请求的数据填充本地数据库。
我有 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 权限将其存储为包外的单独文件。
然后用户将能够将数据从外部数据库文件副本导入到包中的文件中。
此外,导入应该是什么样子的? 我可以简单地用外部文件替换文件吗?
如有任何关于此主题的建议,我们将不胜感激。
- 来自 Google Play 的更新不会覆盖数据库文件
- 如果用户卸载该应用程序,他将希望删除与该应用程序相关的所有内容。所以我最好的解决方案是在你的 API 中有一个同步方法,这样,当用户再次安装应用程序时,它将用请求的数据填充本地数据库。