Файл БД SQLite остается после удаления приложения - PullRequest
1 голос
/ 24 марта 2020

У меня есть приложение, в котором я использую хранилище sqflite DB. Я создаю БД, как указано в примере sqflite - я использую getDatabasesPath() как относительный путь к приложению, а затем var db = await openDatabase(path_to_db_file);. Все отлично работает, я могу создавать таблицы, работать с данными и т. Д.

У меня возникает проблема при удалении приложения. Пока я в разработке, мне нужно добавить больше таблиц, очистить данные, изменить имена столбцов и т. Д. c. Я хочу после удаления приложения удалить все файлы, связанные с ним, и при следующей установке (сеанс отладки) запустить fre sh. Это работает на некоторых устройствах. В некоторых случаях после удаления приложения остаются некоторые файлы. Файл БД сохраняется. И когда я устанавливаю новую версию с ожидаемыми изменениями в БД, они не работают с файлом базы данных, который остался невосстановленным.

Я хотел бы спросить, есть ли механизм, явно указывающий android удалить все связано с этим приложением после его удаления?

1 Ответ

3 голосов
/ 24 марта 2020

На некоторых android телефонах выполняется автоматическое резервное копирование данных, даже если вы удалили приложение, данные все равно возвращаются. Вот что я сделал в своем приложении:

в AndroidManifest. xml:

<application
    android:name=".Application"
    android:allowBackup="false"
    android:fullBackupOnly="false"

выше 2 свойств резервного копирования в false

...