在 App Update/Reinstall Rollout Xamarin 上保留 SQLite db 数据
Posted
技术标签:
【中文标题】在 App Update/Reinstall Rollout Xamarin 上保留 SQLite db 数据【英文标题】:Preserving SQLite db data on App Update/Reinstall Rollout Xamarin 【发布时间】:2019-06-11 23:06:30 【问题描述】:我目前正在 android 手机上测试 Xamarin.Forms 共享项目。
到目前为止,sqlite 数据库存储在System.Environment.SpecialFolder.Personal
中。
我想确保保存在 db 中的用户输入数据:
1 在每次下一次升级时,我都计划开发一个应用程序,以及
2 在其他情况下,用户完全删除了他的应用并重新安装
(我猜这是两种完全不同的情况,但我可能错了)
我想知道通过 Google Play Store Update 更新应用程序是否也会覆盖 db 文件,因此所有数据都会丢失?还是会保留数据?
如果用户想在应用卸载/重新安装后保留他/她的数据,会有什么选择?
在第二种情况下,我正在考虑手动/自动备份正在使用的 SpecialFolder.Personal db 版本,并使用 External_STORAGE 权限将其存储为包外的单独文件。
然后用户将能够将数据从外部 db 文件副本导入到包中。
另外,导入应该是什么样子? 我可以简单地将文件替换为外部文件吗?
我们将不胜感激有关此主题的任何建议。
【问题讨论】:
【参考方案1】:-
来自 Google Play 的更新不会覆盖 db 文件
如果用户卸载应用程序,他会想要删除与应用程序相关的所有内容。所以我最好的解决方案是在你的 API 中有一个同步方法,这样当用户再次安装应用程序时,它会用请求的数据填充本地数据库。
【讨论】:
好消息。我希望数据不会受到应用更新的影响。对于第二种情况,我将在应用程序中放置一个备份/恢复按钮,如果用户进行全新安装,它将备份到外部存储并恢复文件。以上是关于在 App Update/Reinstall Rollout Xamarin 上保留 SQLite db 数据的主要内容,如果未能解决你的问题,请参考以下文章
Vue2.5??????????????????App ?????????????????????????????????