Уничтожить объектную базу данных - PullRequest
0 голосов
/ 18 июня 2019

В настоящее время я использую objectbox через внедрение зависимостей koin в моем приложении для Android.Это работает нормально, однако мне нужно повторно инициализировать мой DI, и поэтому мне нужно уничтожить boxStore раньше.Это потому, что я инициализирую ящик через DI, и если я не уничтожаю текущий BoxStore, я не могу создать новый.

Я нашел похожий пост Как закрыть Objectbox Store и удалить файлы данных однако это не решило мою проблему.

Я пытался вызвать deleteAllFiles, однако я получаю сообщение об ошибке.

        BoxStore.deleteAllFiles(context, (BoxStoreBuilder.DEFAULT_NAME))

        BoxStore.deleteAllFiles(context, null)

Я получаю сообщение об ошибке:

java.lang.IllegalStateException: Невозможно удалить файлы:Магазин по-прежнему открыт

Это строка кода, упомянутая выше.Любые предложения будут очень полезны

1 Ответ

0 голосов
/ 20 июня 2019

решение:

Мне нужно было получить доступ к каждому из моих ящиков по отдельности и удалить их по одному.

fun clearAll(){
    firstBox.box.removeAll()
    secondBox.box.removeAll()
    ....... 
}


fun closeAll(){
    firstBox.box.close()
    secondBox.box.close()
    ....... 
}
...