【发布时间】:2015-04-15 21:23:58
【问题描述】:
我正在使用 Realm for Android 来存储一些数据。当用户按下注销按钮时,我想清除我的整个 Realm 数据库。为此,我有以下 sn-p 代码:
realm.close();
realm.deleteRealmFile(this);
goToLoginActivity();
现在的问题在于我的 onResume 函数。我收到以下异常:
原因:java.lang.IllegalStateException:此 Realm 实例已关闭,无法使用。
我的onResume代码如下:
@Override
protected void onResume() {
super.onResume();
// I'm trying to check if the realm is closed; this does not work
if (realm == null) {
realm = Realm.getInstance(this);
}
// Do query using realm
}
如何检查领域对象是否已经关闭?或者,有没有比删除领域文件更好的方法来清除数据库?
--
编辑:刚刚看到How can I easily delete all objects in a Realm for iOS。关于 deleteAllObjects API 何时可用于 Android 的任何消息?在撰写本文时,Android 版本为 0.80.0,iOS 中的 API 版本为 0.87.0。
【问题讨论】:
-
你能接受冷酷的回答吗?看起来他完全按照你的要求给了你。