Introducción a sugarORM 1.4

Estoy tratando de averiguar cómo usar sugarORM (versión 1.4, importado con Gradle ).

Tengo un objeto simple con un campo public String name , entre otros.

Construyo ese objeto simple con ese nombre y lo TEST_TYPE así (con TEST_TYPE una cadena aleatoria):

  CustomObject type = new CustomObject(TEST_TYPE); long l=type.save(); Toast.makeText(this, "Type ajouté ! id="+l, Toast.LENGTH_SHORT).show(); 

Mi registro está mostrando id = 14 por ahora, así que supongo que la escritura está bien.

Pero cuando quiero leer, no tiene sentido:

  • CustomObject.count(CustomObject.class) devuelve 14
  • CustomObject.findById(CustomObject.class, 2) devuelve null
  • CustomObject.first(CustomObject.class) devuelve null
  • CustomObject.find(LifeEventType.class, "NAME = ?", new String[]{TEST_TYPE}) devuelve null

No sé si está relacionado, pero recibo esta excepción en el registro de advertencia: java.lang.NoSuchMethodException: <init> at com.orm.SugarRecord.find(SugarRecord.java:196) (que es el código demasiado avanzado para un novato como yo …)

Qué estoy haciendo mal ?

Sucede cuando no se proporciona un contructor vacío.

SugarORM puede guardar correctamente las entidades, pero no puede instanciarlas cuando intenta realizar una consulta de selección.

La solución es incluir un constructor vacío y los getters / setters dentro de su entidad

 public CustomObject(){} 

Más documentación aquí

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.