2017-01-26 2 views
1

I Reich für meine app als Datenbank mit bin, und ich habe Modell SessionModel:Realm Objekt nicht Teil des Schemas für diesen Realm

public class SessionModel extends RealmObject { 

    private long id; 

    private int currentPomod; 

    private int state; 

    ...getters\setters 
} 

Wenn ich versuche, neues Dokument in der Datenbank zu erstellen:

Realm.init(this); 

realm = Realm.getDefaultInstance(); 

realm.beginTransaction(); 
realm.copyToRealm(defSession); 

ich habe diesen Fehler: java.lang.IllegalArgumentException: SessionModel is not part of the schema for this Realm

Meine Top-Level-gradle Datei enthält diese Abhängigkeiten:

... 
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 
} 
... 

und App gradle Modul dieses Plugins (ont oben auf build.gradle Modul App-Datei) Anwendung:

apply plugin: 'com.android.application' 
apply plugin: 'realm-android' 

... 

Instant-Run deaktiviert.

+0

benutzen Sie Kotlin oder irgendein anderes magisches Ding, vielleicht "apt" oder "kapt"? Angeblich sollte der 'annotationProcessor'-Bereich automatisch angewendet werden, wenn Sie nicht 'android-apt' haben. – EpicPandaForce

+0

Ich verwende diese Funktionen nicht. –

+2

Problem gelöst. Realm arbeitet nicht mit Jack Toolchain in Großbuchstaben aktiviert. Als ich Jack aus meiner App entfernte, funktionierte Realm korrekt. Auch habe ich Retrolambda Lib anstelle von Jack für Lambda Ausdrücke Unterstützung hinzugefügt. –

Antwort

0

In meinem Fall war es die folgende Situation: MyClassRealmModel war die Umsetzung, wurde aber mit @RealmClass

0

Gefunden eine Lösung von git issues nicht kommentiert. Es sieht aus wie das gleiche Problem, das Sie haben.

Lösung: apply apply plugin: 'com.neenbedankt.android-apt' before apply plugin: 'realm-android'

Hoffe, es wird Ihnen helfen !!

0

Dieser Fehler ist gerade aufgetreten. Ich habe versucht, meine Plugins noch nicht funktioniert. Stellt sich heraus, da ich jetzt eine verwaltete RealmList für die automatische Aktualisierung verwende, muss ich die Realm-Konfiguration auch für die Anwendung ändern. Löschen Sie einfach Ihren aktuellen Bereich. mit dieser Realm.deleteRealm (realmConfig); fang dann wieder an, aber komm einfach den Code aus.

Verwandte Themen