Android `User`不是这个领域模式的一部分-如何找出';用户';存在?
假设我想知道用户是否为空 这是我的代码:Android `User`不是这个领域模式的一部分-如何找出';用户';存在?,android,realm,Android,Realm,假设我想知道用户是否为空 这是我的代码: public boolean isEmpty() { Realm myRealm = Realm.getInstance(this); User results1 = myRealm.where(User.class).findFirst(); return results1 == null; } 如果是第一次使用该应用程序,我需要知道这一点,因为如果是这样,我需要让用户填写表格。(这不是真正的身份验证,只是一个简单的表单) 在
public boolean isEmpty() {
Realm myRealm = Realm.getInstance(this);
User results1 = myRealm.where(User.class).findFirst();
return results1 == null;
}
如果是第一次使用该应用程序,我需要知道这一点,因为如果是这样,我需要让用户填写表格。(这不是真正的身份验证,只是一个简单的表单)
在这种情况下,我如何知道用户是否存在,而不必创建记录
编辑:
这是堆栈:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ga.xuser/com.example.ga.xuser.View.Activities.Profile}: java.lang.IllegalArgumentException: User is not part of the schema for this Realm
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
没有原因的模式迁移。在创建新的
realmodel
类时,需要将新对象添加到现有数据库架构中(在您的示例中为User
)。或者您可以删除数据库,在这种情况下,Realm将创建包含所有模型的新模式
迁移
你们可以在说明书的段落中找到非常干净的样品。如果需要更多详细信息,请参见GitHub上的
另外,如果Expression
Realm.getInstance(this)
中的关键字this
——它是上下文的一个实例,则使用超旧的Realm版本<如果我没记错的话,代码>领域.getInstance(Context)
在0.83.0中被删除了。我建议更新到Realm()的最新版本。在迁移之前,我如何知道是否没有架构?因为我必须知道这是否是第一次使用appUpgrading到3.2.1,让它开箱即用。我现在只是检查结果是否为空。它不会崩溃。