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

时间:2019-01-17 17:21:09

标签: android sqlite xamarin database-backups

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

目前,sqlite数据库已存储在System.Environment.SpecialFolder.Personal中。

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

我计划为每次应用升级的

1以及

2在另外一种情况下,用户会完全删除其应用并重新安装

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

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

如果用户甚至在应用程序卸载/重新安装后仍想保留其数据,该怎么办?

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

然后,用户将能够将数据从外部db文件副本导入到软件包中随附的文件中。

此外,导入应如何显示? 我可以简单地用外部文件替换文件吗?

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

1 个答案:

答案 0 :(得分:0)

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