Android Tutorial DBUtils - Android Datenbanken jetzt einfach

klaus

Expert
Licensed User
Longtime User
Das DBUtils Code Module erleichtert SQLite Datenbanken in Ihre Programme zu integrieren.
Es enthält eine Reihe von Methoden für übliche SQL Aufgaben. Themen wie die Maskierung von Zeichenketten und Identifiers werden automatisch behandelt.
Das Modul steht als Anhang zur Verfügung mit einem Beispielprogramm.
Seit Version 1.07, sind folgende Methoden enthalten:

- CopyDBFromAssets: Kopiert eine Datenbank Datei die im APK Package enthalten ist (im Files Tab im IDE hinzugefügt) zu einer schreibbaren Stelle. Kopiert nur wenn die Datei an der schreibbaren Stelle nicht existiert.

- CreateTable: Erstellt eine SQL Tabelle mit den gegebenen Feldern und Arten (types). Setzt auch Primärschlüssel "primary key" (optional).

- DropTable: Löscht eine Tabelle.

- InsertMaps: Fügt effizient Einträge in einer Tabelle hinzu. Die Daten werden mit einer Liste übergeben die Maps als Einträge enthält. Jede Map enthält die Felder und deren Werte.
Beispiel:

B4X:
    Dim ListOfMaps As List
    ListOfMaps.Initialize
    For i = 1 To 40
        Dim m As Map
        m.Initialize
        m.Put("Id", Id)
        m.Put("First Name", "John")
        m.Put("Last Name", "Smith" & i)
        ListOfMaps.Add(m)
    Next
    DBUtils.InsertMaps(SQL, "Students", ListOfMaps)
- UpdateRecord: Aktualisiert einen existierenden Eintrag. Akzeptiert Feldnamen mit deren neuen Werten und einer Map mit den "where" Feldern.
Beispiel:

B4X:
    Dim WhereFields As Map
    WhereFields.Initialize
    WhereFields.Put("id", "1234")
    WhereFields.Put("test", "test #5")
    DBUtils.UpdateRecord(SQL, "Grades", "Grade", 100, WhereFields)
- ExecuteMemoryTable: Führt eine SELECT Anfrage aus und liest alle Einträge in eine Liste. Jeder Eintrag in der Liste ist ein Array von Strings die den Einträgen im Resultatsatz entsprechen.

- ExecuteMap: Führt eine SELECT Anfrage aus und gibt den ersten Eintrag zurück der im Map Objekt gespeichert ist. Die Spaltennamen sind die Schlüssel und Werte die Mapwerte.

- ExecuteSpinner: Führt eine SELECT Anfrage aus und füllt eine Spinner View (ComboBox) mit den Werten der ersten Spalte.

- ExecuteListView: Führt eine SELECT Anfrage aus und füllt eine ListView mit den Werten der ersten Spalte und optional mit der zweiten Spalte.

- ExecuteJSON: Führt eine SELECT Anfrage aus und gibt eine Map zurück die man an JSONGenerator überweisen kann um einen JSON Text zu erstellen.
Beispiel:

B4X:
JSONGenerator 'Requires a reference to the JSON library.
    gen.Initialize(DBUtils.ExecuteJSON(SQL, "SELECT Id, [Last Name], Birthday FROM Students", Null, _
        0, Array As String(DBUtils.DB_TEXT, DBUtils.DB_TEXT, DBUtils.DB_INTEGER)))
    Dim JSONString As String
    JSONString = gen.ToPrettyString(4)
    Msgbox(JSONString, "")
Siehe das angehängte Beispiel und den Code im DBUtils Module für mehr Information über jede Methode.

- ExecuteHtml: Erstellt eine gut aussehende HTML Tabelle mit den Resultaten. Sie können WebView benutzen um die Resultate anzuzeigen. Diese Methode ist sehr nützlich, für beides Entwicklung, da es Ihnen erlaubt die Daten anzusehen und auch für Berichte.
Sie können den Tabellenstil mit der Variablen CSS ändern.
Neu: Der letzte Parameter definiert ob die Werte "clickable" (klickbar) sind oder nicht.
Wenn die Werte "clickable" sind können Sie diese mit dem WebView_OverrideUrl Event abfangen um die "geklickte" Zelle zu finden.


Über das Beispiel. In diesem Beispiel erstellen wir zwei Tabellen: Studenten und Noten. Die Studenten Tabelle enthält alle Studenten.
Die Noten Tabelle enthält die Noten für jeden Studenten für jeden Test.

Die ExportToJSON oder ShowTableInWebView Aufrufe auskommentieren um diese Features anzuzeigen.

dbutils_1.png


dbutils_3.png


Um die Tabelle zu verstecken, ShowTableInWebView in Activity_Create auskommentieren.



Das Englische Original-Tutorial.

Angehängte Datei.
zip.gif
DBUtils.zip
 
Top