如何在Android中清除数据库中的数据库

时间:2016-06-06 00:20:34

标签: android realm

我希望在用户按下注销按钮时清除整个数据库,并在其他用户登录时加载新数据。我尝试了很多解决方案,如

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.
    }

但这些代码都不起作用。 提前谢谢。

2 个答案:

答案 0 :(得分:30)

当您调用Realm.deleteRealm()时,您必须确保所有Realm实例都已关闭,否则将抛出异常而不删除任何内容。通过调用此方法,将删除所有Realm文件,这意味着所有对象&架构已经消失了。对于任何一般情况,捕获所有异常都是不好的做法。

或者您可以在事务块中调用Realm.delelteAll()。这不需要关闭所有Realm实例。它将删除Realm中的所有对象而不清除模式。再说一遍,不要抓住所有例外。

答案 1 :(得分:0)

如果您确定没有任何其他要保存的数据库,则还可以删除所有其他数据。你可以按照这个答案 Clear Application's Data Programmatically