我想在用户按下注销按钮时清除整个数据库并在另一个用户登录时加载新数据。我尝试了很多解决方案,例如
try {
Realm.deleteRealm(realmConfiguration);
} catch (Exception ex){
throw ex;
}
还有
try {
Realm.deleteRealmFile(getActivity());
//Realm file has been deleted.
} catch (Exception ex){
ex.printStackTrace();
//No Realm file to remove.
}
但是这两个代码都不起作用。 提前致谢。
最佳答案
当您调用 Realm.deleteRealm()
时,您必须确保所有 Realm 实例都已关闭,否则将引发异常而不删除任何内容。通过调用此方法,所有 Realm 文件都被删除,这意味着所有对象和模式都消失了。对于任何一般情况,捕获所有异常都是不好的做法。
或者您可以调用Realm.delelteAll()
在一个事务 block 中。这不需要关闭所有 Realm 实例。它只会删除 Realm 中的所有对象而不清除模式。同样,不要捕获所有异常。
关于android - 如何在 Android 中清除 Realm 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648071/