Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中清除Realm中的数据库_Android_Realm - Fatal编程技术网

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

如何在Android中清除Realm中的数据库,android,realm,Android,Realm,我想在一个用户按下注销按钮时清除整个数据库,在另一个用户登录时加载新数据 try { Realm.deleteRealm(realmConfiguration); } catch (Exception ex){ throw ex; } 也 但这两种代码都不起作用。 提前感谢。当您调用时,必须确保所有领域实例都已关闭,否则将在不删除任何内容的情况下引发异常。通过调用此方法,将删除所有领域文件,这意味着所有对象和模式都将消失。捕获所有异常对于任

我想在一个用户按下注销按钮时清除整个数据库,在另一个用户登录时加载新数据

try {
        Realm.deleteRealm(realmConfiguration);   
    } catch (Exception ex){
        throw ex;
    }

但这两种代码都不起作用。 提前感谢。

当您调用时,必须确保所有领域实例都已关闭,否则将在不删除任何内容的情况下引发异常。通过调用此方法,将删除所有领域文件,这意味着所有对象和模式都将消失。捕获所有异常对于任何一般情况都是一种糟糕的做法


或者您可以调用事务块。这并不需要关闭所有领域实例。它将只删除领域中的所有对象,而不清除模式。同样,不要捕获所有异常。

如果您确定没有任何其他要保存的数据库,也可以删除所有其他数据。你可以遵循这个答案

这两种方法是否也清除由
RealmConfiguration#initialData()
提供的数据?对于最新版本4.3,您还需要提供领域配置,例如realm.deleteRealm(realm.getDefaultConfiguration())如果我们使用领域云,那么它也会从服务器上删除所有数据?有没有一种方法可以在不确保所有领域实例都已关闭的情况下强制删除数据库?
 try {
        Realm.deleteRealmFile(getActivity());
        //Realm file has been deleted.
    } catch (Exception ex){
        ex.printStackTrace();
        //No Realm file to remove.
    }