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í