База данных ContentProvider не удаляется - PullRequest
1 голос
/ 21 ноября 2011

Я разрабатываю контент-провайдера, который хранит свои данные в базе данных SQLite. Во время разработки мне нужно изменить схему или полностью удалить базу данных и перестроить ее (я не обновляю базу данных на данном этапе разработки).

Я нашел файл базы данных, который хранится в / data / data // database / app_db. Когда я вытаскиваю его на свой настольный компьютер, я могу использовать SqliteSpy, чтобы увидеть его содержимое, и все хорошо. Однако, когда я его удаляю, он не всегда удаляется на самом деле . Хотя я не могу увидеть файл в DDMS или ADB, мое приложение все еще видит его.

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

Что может помешать действительно удалить файл?

Итай.

1 Ответ

2 голосов
/ 21 ноября 2011

Я тоже видел эту проблему, когда писал модульные тесты для моих ContentProvider с.Вы должны убедиться, что вы уничтожили процесс, в котором находится ContentProvider, который использует этот конкретный файл базы данных.И только чем его удалить.

...