销毁对象框数据库
Destroy objectbox DB
我目前在 android 应用程序中通过 koin 依赖项注入使用 objectbox。它工作正常,但我需要重新初始化我的 DI,所以我需要先销毁 boxStore。这是因为我通过 DI 初始化了盒子,如果我不破坏当前的 BoxStore,我就无法创建一个新的。
我找到了类似的 post 但是它没有解决我的问题。
我试过调用 deleteAllFiles 但是我收到了一个错误。
BoxStore.deleteAllFiles(context, (BoxStoreBuilder.DEFAULT_NAME))
BoxStore.deleteAllFiles(context, null)
我收到错误消息:
java.lang.IllegalStateException:无法删除文件:商店仍在营业
这是上面提到的代码行。任何建议都会很有帮助
解决方案:
我不得不单独访问我的每个盒子并一次删除一个。
fun clearAll(){
firstBox.box.removeAll()
secondBox.box.removeAll()
.......
}
fun closeAll(){
firstBox.box.close()
secondBox.box.close()
.......
}
您可以关闭boxStore,然后删除所有文件:
boxStore.close();
boxStore.deleteAllFiles();
还有一个static method用于删除所有文件(如果你想在打开boxStore之前删除所有文件)
这是最有效的方法。
我目前在 android 应用程序中通过 koin 依赖项注入使用 objectbox。它工作正常,但我需要重新初始化我的 DI,所以我需要先销毁 boxStore。这是因为我通过 DI 初始化了盒子,如果我不破坏当前的 BoxStore,我就无法创建一个新的。
我找到了类似的 post
我试过调用 deleteAllFiles 但是我收到了一个错误。
BoxStore.deleteAllFiles(context, (BoxStoreBuilder.DEFAULT_NAME))
BoxStore.deleteAllFiles(context, null)
我收到错误消息:
java.lang.IllegalStateException:无法删除文件:商店仍在营业
这是上面提到的代码行。任何建议都会很有帮助
解决方案:
我不得不单独访问我的每个盒子并一次删除一个。
fun clearAll(){
firstBox.box.removeAll()
secondBox.box.removeAll()
.......
}
fun closeAll(){
firstBox.box.close()
secondBox.box.close()
.......
}
您可以关闭boxStore,然后删除所有文件:
boxStore.close();
boxStore.deleteAllFiles();
还有一个static method用于删除所有文件(如果你想在打开boxStore之前删除所有文件)
这是最有效的方法。