2013-08-12 6 views
14

Ich bin verwirrt, die eine gut für Android-Perspektive entweder Ormlite oder sqlite. bitte können Sie mir einen Vorschlag geben, welcher ist besser für die Verwendung unserer Android App. Und macht einfach zu bedienen und unterstützt alle Android-Geräte? Ich möchte die Ormlite in unserem Projekt verwenden, aber bevor ich sicher sein möchte, dass es für mich und meine App heilfull sein wird. Also bitte führe mich, wenn jemand früher dies benutzt. Ich schätze Ihren Gedanken hier. ThnaksOrmlite oder sqlite Welche ist gut für Android-Perspektive?

+3

OrmLite ist ein ORM, der eine einfache Möglichkeit bietet, die DB-Funktionalität auf SQLite zu handhaben. ORMLite ist keine Datenbank. Wenn Sie also diese Option verwenden möchten, haben Sie eine einfache Möglichkeit, Beziehungen zwischen Tabellen zu behandeln. Beachten Sie jedoch, dass dies ein ORM ist, der mit SQLite arbeitet. –

+0

@pankaj danke, können Sie Details geben einfache Möglichkeit, dies zu verwenden und wie Sie beginnen –

+1

Sicher! Hier sind einige Beispiele http://ormlite.com/android/examples/ –

Antwort

16

ORMLite ist ein Open-Source-Software-Framework, das leichte objektbezogene Zuordnung (ORM) zwischen Java-Klassen und SQL-Datenbanken bietet.

, wenn Sie diesen Rahmen nutzen Sie SQLite-Datenbank letztlich verwenden (ORMLite ist keine Datenbank) ermöglicht es Ihnen, eine gute Architektur zu Ihrer Anwendung implemet, ziehe ich immer ORMLite mit

Hier ist mein blog on ORMLite, wenn Sie wollen um damit anzufangen !!

+3

+1 Hier sind die offiziellen Dokumente über die Verwendung von ORMLite mit Android: http://ormlite.com/docs/android – Gray

+0

können Sie den Beitrag sehen, ich bekomme Fehler Bitte lösen Sie diesen Verweis http://stackoverflow.com/questions/18187967/ava-lang-illegalstateexception-could-not-find -constructor-that-has-just-a-con –

6

ORMLite hat zwei .jar-Dateien: ormlite-core.jar (275KB) und ormlite-android (50KB) Bibliotheken

Vorteile: -

  1. Verwendung für komplizierte Datenbankoperationen

  2. Keine Notwendigkeit, an SQL-Abfragen zu erinnern

  3. Bevorzugen Sie für große Größe

    Anwendung

Nachteile: -

  1. Unnötig Größe Anwendung erhöhen

  2. wenig langsam mit zu greenDao (ein weiteres ORM) vergleichen

+0

ja Größe und Effizienz ist es kompromittiert –

0

Obwohl andere Antworten sind perfekt, aber ich möchte m Ein weiterer Aspekt bei der Verwendung von ORMs wie Ormlite vs SQlite.

ORMs (wie Ormlite) sind gut zu verwenden, weil sie viel Arbeit und Code reduzieren, aber ich habe this gelesen und ich erwähne die Meinung hier:

Wir empfehlen nicht, im Allgemeinen eine Object- mit Relation Mapping-Bibliothek , es sei denn, Sie haben ungewöhnlich komplexe Daten und Sie haben eine dringende Notwendigkeit. Sie neigen dazu, komplex zu sein und benötigen Zeit, um zu lernen. Wenn Sie sich entscheiden, mit ein ORM zu gehen, sollten Sie darauf achten, ob es prozesssicher ist, wenn Ihre Anwendung es erfordert, wie viele der vorhandenen ORM-Lösungen überraschend nicht sind.

0

Sie können auch bei Storm (https://github.com/supaldubey/storm/)

Es bietet saubere Schnittstelle suchen wählen und sie fragt keine Basisklassen für die Modelle außer Kraft zu setzen oder zu implementieren.

Es ist auch

Sie können Gradle hinzufügen und starten leicht

In Eltern mit Ihren Modellen

automatisch erstellt und Auto-Upgrade würde:

Maven {url "http://dl.bintray.com/cubestack/maven"}

In Projekt Gradle:

dependencies { 
     compile 'in.cubestack.android.lib:storm:1.0g' 
    } 

Schritt 1: Definieren Sie Tabellen:

@Table(name = "DEMO_ENTITY") 
    class Entity { 
    @PrimaryKey 
    @Column(name="ID", type = FieldType.INTEGER) 
    private int id; 
    } 

Zweiter Schritt (Definieren Sie die Datenbank)

Datenbank haben auch ihre Anmerkung, die angewendet werden kann, können definiert mehrere Datenbanken sein.

@Database(name="MY_DB", tables = {Entity.class, AnotherEntity.class}, version = 2) 
class Database {} 

Schritt drei (mit Start)

Mit Datenbank bereit für uns, so können wir, wie unten starten Sie es:

Retrieval

StormService service = new BaseService(getContext(), Database.class); 
List<Entity> savedEntities = service.findAll(Entity.class); 

Ähnlich es Methoden hat zu speichern, löschen usw.

Verwandte Themen