我使用realm作为我的应用程序的数据库,我有模型SessionModel
:
public class SessionModel extends RealmObject {
private long id;
private int currentPomod;
private int state;
...getters\setters
}
当我试图在数据库中创建新文档时:
Realm.init(this);
realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.copyToRealm(defSession);
我收到了此错误:java.lang.IllegalArgumentException: SessionModel is not part of the schema for this Realm
我的顶级gradle文件包含此依赖项:
...
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "io.realm:realm-gradle-plugin:2.3.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
...
和app gradle模块应用此插件(在build.gradle模块应用程序文件的顶部):
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
...
禁用即时运行。
答案 0 :(得分:0)
就我而言,情况如下:MyClass
正在实施RealmModel
,但没有注明@RealmClass
答案 1 :(得分:0)
从git issues找到了一些解决方案。它看起来像你一样的问题。
<强>解决方案:强>
的 apply apply plugin: 'com.neenbedankt.android-apt' before apply plugin: 'realm-android'
强>
希望它能帮到你!!
答案 2 :(得分:0)
刚刚遇到此错误。我尝试重新安排我的插件仍然没有工作。事实证明,因为我现在使用托管的realmList进行自动更新,所以我必须在应用程序上更改领域配置。只是删除你当前的领域。用这个 Realm.deleteRealm(realmConfig);然后重新开始,但只是注释掉代码。