ORM auf Android SQLite und Datenbank-Schema

Ich suche nach einem sehr einfachen ORM-Framework, das auf Android für SQLite arbeitet. Ich habe ActiveAndroid getestet, aber keines der Beispiele könnte jemals auf Eclipse bauen.
Übrigens, wie machen Jungs eine "viele zu viele" Beziehung in SQLite für Android? Wie spiegeln Sie die Kaskade beim Löschen von Zeilen wider und garantieren die Integrität der Datenbank?

  • Was ist der Unterschied zwischen Progressbar und progressDialog?
  • Android WSDL / SOAP Service Client
  • Starten eines Phonegap-Plugins nach dem Neustart des Geräts
  • Android-Unit-Test nicht verspottet
  • Android DrawerLayout Komponente
  • Android kann meine onClick-Methode nicht finden
  • Zeigen Sie eine Softtastatur in AlertDialog mit einem WebView im Inneren (Android)
  • Google Analytics in Android App - Umgang mit mehreren Aktivitäten
  • Cloud-basierte Android-Entwicklung
  • Erstellen Sie ein JSONArray
  • In App Billing getPrice () Android
  • Wie wähle ich mehrere Checkboxen im Untermenü auf Android aus?
  • 6 Solutions collect form web for “ORM auf Android SQLite und Datenbank-Schema”

    Ich bin der Hauptautor von ORMLite, der ein Android-Backend hat, das Anrufe an die nativen Android OS-Datenbank-APIs macht, um seine ORM-Funktionalität zu unterstützen. Wir haben eine große Anzahl von Android-Entwicklern, die das Framework erfolgreich nutzen. Siehe hier für weitere Informationen:

    http://ormlite.com/sqlite_java_android_orm.shtml

    In Bezug auf viele-zu-viele-Beziehungen, ORMLite nicht unterstützt Kaskadierung oder eine der erweiterten ORM-Funktionen, aber es gibt Beispiele für einfache viele-to-viele-Implementierungen:

    http://ormlite.com/docs/examples

    Für diejenigen, die noch auf der Suche nach einer ORM-Lösung, habe ich GreenDAO vor einigen Monaten veröffentlicht. Mehrere Apps im Android Market nutzen sie schon. Im Gegensatz zu anderen Android-ORM-Tools, eine der GreenDAOs primäre Design-Ziele war Leistung. Für viele Operationen sollte es mehrmals schneller sein als andere Lösungen, zB ist es 4-5 mal schneller im Vergleich zu ORMLite zum Laden von Entitäten.

    Es unterstützt die Beziehungen. Die Dokumentation beschreibt, wie man Beziehungen benutzt und wie man viele-zu-viele Beziehungen modellieren könnte .

    Delete-Kaskade ist eine gefährliche Sache und wird daher von greenDAO nicht unterstützt. Der sicherere Weg ist, die Entitäten innerhalb einer Transaktion zu löschen.

    Ich schrieb mir ein leichtes ORM und nannte es Androrm. Wie ich Django liebe, sieht die Abfrage-Syntax sehr ähnlich aus. Bitte versuch und gib mir Feedback 🙂

    Webseite: http://androrm.com/

    Auch auf GitHub: https://github.com/androrm/androrm

    Unten ist, wie ich es mit SORMA mache – eine Android Content Provider-Lösung.

    1. Planen Sie Ihre Java POJO in die Datenbanktabelle:

      @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; ...... 
    2. Erstellen von Content-Provider-Klasse:

       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 { } 
    3. Definieren Sie Content Provider in der AndroidManifest.xml:

       <provider android:authorities="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider" android:name="com.gaoshin.sorma.examples.addressbook.AddressBookContentProvider" /> 
    4. Nutzen Sie den Content Provider:

       sorma = SORMA.getInstance(getBaseContext(), AddressBookContentProvider.class); // insert contact Contact contact = new Contact(); contact.setFirstName("fname1"); contact.setLastName("lname1"); sorma.insert(contact); 

    Erledigt!

    (Hier finden Sie weitere Infos.)

    Ich benutze, und bin der Autor von, Mechanoid DB, die eine sqlite wie dsl für die Erzeugung von sqlite Backed Content Provider bietet.

    Hör zu:

    http://www.robotoworks.com/mechanoid-plugin/mechanoid-db/

    Probieren Sie SQLiteGen aus . Es ist nicht so feature-rich wie hibernate, aber Sie können einige einfache ORM-Klassen mit ihm in Eclipse erzeugen.

    Ich hoffe, das hilft!

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.