Realm.io no puede conseguir ejemplos para trabajar

Im fracaso para empezar con Realm.io, lo he intentado en mi propio proyecto así como con el IntroExample.

Cuando intento buscar algo, consigo:

java.lang.IllegalStateException: Llamada de método mutable durante la transacción de lectura.

Cuando intento almacenar algo, consigo:

io.realm.exceptions.RealmException: No se pudo encontrar la clase de proxy generada

Parece que tengo un defecto fundamental en alguna parte.

apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig { applicationId "lorem.ipsum" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'org.jsoup:jsoup:1.8.+' compile 'io.realm:realm-android:0.71.0' } 

Haga una anotación @RealmClass a su clase de modelo. Luché con el mismo problema y fui un poco más profundo en la generación de la clase de proxy de Realm. Sólo se generan clases con la anotación @RealmClass.

 @RealmClass public class Category extends RealmObject { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 

He intentado ejecutar su código de ejemplo y tiene un montón de excepciones con respecto a su clase de modelo. Parece que los getters y setters han cambiado el nombre de la predeterminada, que actualmente rompe el procesador de anotación.

He intentado cambiar la clase del modelo a:

 public class DataItem extends RealmObject { private String uuid; private String content; private boolean bool; public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public boolean isBool() { return bool; } public void setBool(boolean bool) { this.bool = bool; } } 

que parecía funcionar.

Una combinación de respuesta https://stackoverflow.com/a/26294208/1251958 y respuesta https://stackoverflow.com/a/26326314/1251958 lleva al éxito.

Después de agregar la anotación @RealmClass @ Philluxx metioned, tengo errores en AndroidStudio señalando la sintaxis requerida como se menciona por @ChristianMelchior

Nota: Es probable que tenga que borrar los datos de la aplicación, ya que descuidar que hacer o bien parece conducir a una base de datos dañada que conduce a fallos posteriores.

Emanuele de Realm aquí.

He echado un vistazo al proyecto de ejemplo que publicó en los comentarios y el único problema que encontré fue en el nombramiento de los getters y setters. Seguramente necesitamos documentar esto mejor pero para obtener fácilmente un comportamiento predecible debes dejar que el IDE genere automáticamente los getters y setters para ti. Una nota sobre los booleanos: parece que si tienes una llamada booleana isValid Android Studio generará los isValid() llamados isValid() y setValid() . No estoy seguro de cómo se comporta Eclipse en el mismo escenario. De todos modos, en el procesador de anotación generamos algo como isIsValid() y setIsValid() que por supuesto es feo y se arreglará pronto. De todos modos, si nombra su booleano simplemente valid todo funcionará bien.

  • Android, usando Realm singleton en Aplicación
  • Android RealmList <Integer> y RealmList <String>
  • Limitar el número de llamadas al usar Parse
  • Android Realm - Actualización de RealmList dispara IllegalArgumentException
  • La migración de Realm se está estrellando en Android 7.1.2
  • Restricción única del reino en varios campos
  • Json cadena de objetos de reino, el camino más rápido
  • ¿Cómo comprobar si la base de datos .realm ya existe?
  • Manera correcta de abstraer el reino en las aplicaciones de Android
  • Realm, RxJava, asObservable () y doOnUnsubscribe ()
  • RealmResult consulta de nuevo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.