android - sugar - xamarin forms sqlite example
ORM en Android SQLite y esquema de base de datos (6)
A continuación se muestra cómo lo hago con SORMA: una solución de proveedor de contenido de Android.
Asigna tu Java POJO a la tabla de la base de datos:
@Table( name="contact", keyColumn="id", autoId=true, create="create table if not exists contact (" + " id INTEGER primary key autoincrement" + ", firstName text" + ", lastName text" + ", married tinyint" + ")" ) public class Contact { private Integer id; private String firstName; private String lastName; private boolean married; ......
Crear clase de proveedor de contenido:
import com.gaoshin.sorma.annotation.ContentProvider; import com.gaoshin.sorma.annotation.SormaContentProvider; @ContentProvider( version = 1, mappingClasses = { Contact.class, Phone.class } ) public class AddressBookContentProvider extends SormaContentProvider { }
Definir proveedor de contenido en AndroidManifest.xml:
<provider android:authorities="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider" android:name="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider" />
Usa el proveedor de contenido:
sorma = SORMA.getInstance(getBaseContext(), AddressBookContentProvider.class); // insert contact Contact contact = new Contact(); contact.setFirstName("fname1"); contact.setLastName("lname1"); sorma.insert(contact);
¡Hecho!
(Puede encontrar más información here ).
Estoy buscando un marco ORM muy simple que funcione en Android para SQLite. He estado probando ActiveAndroid pero ninguno del ejemplo podría construir en Eclipse.
Por cierto, ¿cómo los chicos implementan una relación "muchos a muchos" en SQLite para Android? ¿Cómo se refleja la cascada en cuanto a la eliminación de filas y garantizar la integridad de la base de datos?
Escribí un ORM ligero y lo llamé Androrm. Como amo a Django, la sintaxis de la consulta se parece mucho. Por favor, inténtalo y dame tu opinión :)
Página web: http://androrm.com/
También en GitHub: https://github.com/androrm/androrm
Para aquellos que todavía están buscando una solución ORM, greenDAO algunos meses. Varias aplicaciones en Android Market ya lo usan. A diferencia de otras herramientas ORM de Android, uno de los principales objetivos de diseño de greenDAO era el rendimiento. Para muchas operaciones, debe ser varias veces más rápido que otras soluciones, por ejemplo, es 4-5 veces más rápido en comparación con ORMLite para cargar entidades.
Es compatible con las relaciones. La documentación describe cómo usar relaciones y cómo podría modelar relaciones de muchos a muchos .
Delete-cascade es algo peligroso, y por lo tanto no compatible con greenDAO. La forma más segura es eliminar las entidades de abajo hacia arriba dentro de una transacción.
Pruebe SQLiteGen . No es tan rico en características como hibernación, pero puedes generar algunas clases ORM simples con él en Eclipse.
¡Espero que ayude!
Soy el autor principal de ORMLite que tiene un backend de Android que realiza llamadas a las API de bases de datos nativas del sistema operativo Android para admitir su funcionalidad ORM. Tenemos una gran cantidad de desarrolladores de Android que están utilizando el marco con éxito. Vea aquí para más información:
En términos de relaciones muchos a muchos, ORMLite no es compatible con las funciones de ORM en cascada ni con las más avanzadas, pero hay ejemplos de implementaciones fáciles de muchos a muchos:
Uso, y soy el autor de, Mechanoid DB, que proporciona una sqlite como dsl para generar proveedores de contenido respaldados por sqlite.
Echale un vistazo: