如何关闭Objectbox Store并删除数据文件

时间:2017-11-22 14:13:33

标签: android objectbox

用我的数据列表调用put()后,我遇到了异常 我知道我之前因为原因而关闭了盒子(必须关闭deleteAllFiles()) 我应该怎么再打开它?我看到,关闭它后,dataBoxStore不为null。

我的代码:

dataBoxStore = MyObjectBox.builder().androidContext(this).name("DB").build();

dataBoxStore.close();
dataBoxStore.deleteAllFiles();

final Box<Data> areaLocationBox = dataBoxStore.boxFor(Data.class);
areaLocationBox.put(myList);

例外:

 Caused by: java.lang.IllegalStateException: Store is closed
    at io.objectbox.BoxStore.checkOpen(BoxStore.java:261)
    at io.objectbox.BoxStore.beginTx(BoxStore.java:310)
    at io.objectbox.Box.getWriter(Box.java:107)
    at io.objectbox.Box.put(Box.java:389)

2 个答案:

答案 0 :(得分:1)

{ 
    debugId: 1,
    uri: 'http: //localhost:8080/login',
    method: 'POST',
    headers: { 
        host: 'localhost: 8080',
        accept: 'application/json',
        'content-type': 'application/json',
        'content-length': 49
    },
    body: '"{\\"username\\":\\"3\\",\\"password\\":\\"password1\\"}"'
}

抛出Store关闭的异常,而dataBoxStore不为null。

我发现再次启动boxStore以使用它:

dataBoxStore.put(myList);

答案 1 :(得分:1)

使用ObjectBox 1.3,这变得更简单了。您可以在不启动BoxStore的情况下使用one of the static BoxStore.deleteAllFiles methods

BoxStore.deleteAllFiles(context, "DB");