我有一个Flutter应用程序,在其中使用sqflite数据库存储。我按照sqflite示例中的说明创建了一个数据库-我使用getDatabasesPath()
作为应用程序的相对路径,然后使用var db = await openDatabase(path_to_db_file);
。一切正常,我可以创建表,使用数据等等。
我在卸载应用程序时遇到问题。在仍处于开发阶段时,我需要添加更多表,清除数据,更改列名等。我想要在卸载应用程序后删除与之关联的所有文件,并在下一次安装(调试会话)时重新启动。这适用于某些设备。在某些情况下,卸载应用程序后会保留一些文件。数据库文件保留。而且,当我安装了具有预期的数据库更改的新版本时,它们对尚未删除的数据库文件不起作用。
我想问问有没有一种机制可以明确告诉android在卸载它时删除与该应用程序关联的所有内容?
答案 0 :(得分:4)
即使您卸载了应用,某些Android手机也会自动备份数据,但数据仍会返回。这是我在应用程序中所做的:
在AndroidManifest.xml中:
<application
android:name=".Application"
android:allowBackup="false"
android:fullBackupOnly="false"
将2个备份属性设置为false