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

sum*_*hra 17 android realm

我想在用户按下注销按钮时清除整个数据库,并在另一个用户登录时加载新数据.我尝试了许多解决方案,如

try {
        Realm.deleteRealm(realmConfiguration);   
    } catch (Exception ex){
        throw ex;
    }
Run Code Online (Sandbox Code Playgroud)

 try {
        Realm.deleteRealmFile(getActivity());
        //Realm file has been deleted.
    } catch (Exception ex){
        ex.printStackTrace();
        //No Realm file to remove.
    }
Run Code Online (Sandbox Code Playgroud)

但这两个代码都不起作用.提前致谢.

bee*_*der 36

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

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

  • 对于最新版本4.3,您还需要提供领域配置,例如Realm.deleteRealm(Realm.getDefaultConfiguration()) (7认同)