【发布时间】:2015-07-09 18:10:45
【问题描述】:
我使用的是 Android Studio 1.2.2 和 Realm 0.81.1。 我创建了一个模型“类别”,如下所示:
@RealmClass
public class Category extends RealmObject {
private String name;
// getter and setter
}
但我得到了 java.lang.IllegalArgumentException:类别不是此领域架构的一部分
我什至启用了注释处理,但错误仍然存在。
我该如何解决这个错误?非常感谢任何帮助。
更新
我深入研究了 Realm 代码。我发现在 Util.class 文件中,
if(!superclass.equals(RealmObject.class)) {
clazz = superclass;
}
它正在检查我正在使用的模型的超类。当我打印出模式的超类时;我自己,比如:
category.getClass().getSuperclass().getName();
我得到不等于 RealmObject.class 的 'io.realm.RealmObject'。所以 Realm 可能不会将其视为 RealmObject。
这可能是导致错误的原因吗?
【问题讨论】:
-
什么时候看到错误信息?您是否在较新版本的应用中添加了
Category类并迁移了 Realm 文件? -
当我尝试查询领域时,我在运行时看到错误消息。第二个问题我没看懂。我的应用没有任何其他数据库,使用 Realm 从头开始创建,所以我不必迁移,对吧?
-
你有机会解决这个问题吗?我在启用 Proguard 时遇到了这个问题。你用黄油刀吗?
-
@kodingralph 不,我还没有。不,我不使用黄油刀。在那之前它对你有用吗?
-
您确定启用了注释处理吗?我正在将 kotlin 用于领域。在我使用 kapt 处理注释之前,我遇到了同样的问题。
标签: android android-studio realm annotation-processing