Android Entwicklung

News | Updates | Apps | Hacking | Development

Was ist SQLite?

SQLite ist ein Datenbanksystem, welches ohne einen Server auskommt. Im Gegensatz zu MySQL benötigt SQLite keine weitere Konfiguration. Daher wird SQLite in mobilen Geräten gerne verwendet. Das Datenbanksystem läuft als Dienst im Hintergrund und kann auf eine Datenbank (*.db-Datei) einer App zugreifen.

Auf eine SQLite-Datenbank zugreifen

Zuerst muss das Paket android.databse.sqlite.SQLiteDatabase in die zugehörige Datei importiert werden. Mit der Methode openOrCreateDatabase() kann eine Verbindung zur Datenbank hergestellt werden. Erstellen Sie eine neue Android-Applikation mit dem Namen “TestingAndroidDatabase” und wählen Sie anschließend das zugehörige API-Level. Erweitern Sie Ihre gerade erstelle Klasse “TestingAndroidDatabase” mit folgenden Befehlen:

Zuerst müssen wir die Basisklasse SQLiteDatabase definieren. Anschließend übergeben wir der Methode openOrCreateDatabase() einige Parameter. Der Erste Parameter beschreibt den Namen der SQLite-Datenbank. Der zweite Parameter prüft, ob die Erstellung der Datenbank notwendig ist bzw. ob diese schon besteht. Der letzte Parameter beschreibt die Fehlerbehandlung. In diesem Fall ist die Fehlerbehandlung null.
Nachdem der Code etwas erweitert wurde und jetzt nach dem Ausführen des Codes eine Datenbankdatei erstellt wird, können wir fortfahren.

[notice]Wo speichert Android die Datenbank?

Android speichert die SQLite-Datenbank auf einer separaten Partition, welche Lese -und Schreibrechte besitzt. Mit der ADB-Shell können Sie schnell eine Verbindung zu dieser Partition herstellen.
Unter /data/data/[Paketname der Anwendung]/databases finden Sie Ihre zuvor erstellte Datenbank.[/notice]

Tabellen in der SQLite-Datenbank erstellen

Wie bereits zuvor im Code verdeutlicht, erstellen / öffnen wir eine Datenbank mit der Methode openOrCreateDatabase(). Mit setVersion() wird die Datenbank-Version gesetzt. Die Methode setLocale() gibt an, in welchem Encoding die Zeichen in den einzelnen Tabellen abgespeichert werden. Im weiteren Verlauf erstellen wir hier die Tabellen. In der letzten Tabelle erstellen wir eine Tabelle mit einem Fremdschlüssel.

Inhalte in die Tabellen hinzufügen

Android bietet eine unzählige Menge an verschiedenen Klassen, die die SQLite-Datenbank Zugriffe erleichtern. Mit der Klasse ContentValues können Tabelleninhalte hinzugefügt oder verändert werden.

Update der Inhalte einer Tabelle

Wieder die gleiche Klassse, nur zur Verwendung um einen “Record” in der Datenbank abzuändern. Mit der Variable der Klasse updateCountry bereiten wir alles vor. Danach hängen wir die Methode put an die Variable der Klasse heran und füllen diese dann mit zwei Argumenten. Das Erste Argument zeigt auf, auf welche Spalte in der Tabelle zugegriffen werden soll. Das nächste Argument beschreibt das Feld, welches geändert werden soll.

Einträge der Tabelle löschen

Ganz zu Anfang haben wir eine Variable der Klasse gebildet, welche vom Objekt SQLiteDatabase abstammt. Der Variablenname db hilft uns dabei, weitere Methoden auszuführen. Im folgenden ein Beispiel zur Löschung einer Tabelle.

4 Kommentare bisher.

  1. Hans says:

    Toller Bericht aber wo ist Teil 2

  2. Niklas says:

    Danke für diese nette Einführung in die SQLite programmierung bei Android.
    Im Internet hat sich überall die SqliteHelper Klasse finden lassen, ich möchte mich Schrittweise damit beschäftigen. Dieser Blog hat mir den Tag gerettet ;)

    Vielen Dank!

  3. enkurc says:

    Hallo

    Ich plane eine App zu entwickeln, welche ca. 6000 Datensätze enthält.

    Die Liste existiert zum aktuellen Zeitpunkt nur als Excelfile. Da die Daten “offline” zur Verfügung stehen soll ohne eine Internetverbindung,habe ich mir gedacht diese in einer App als SQLight-Daten zu integrieren.

    Meine Frage:
    Besteht die Möglichkeit diese Daten automatisch in eclipse importieren?

    Danke im Voraus für dein Feedback.

    Gruss
    enkurc

    • Martin Kogut says:

      Hallo, vielen Dank für Ihre Nachricht.

      Sie könnten die Datensätze in CSV exportieren. Sofern dies geschehen ist, könnten Sie einen Parser bauen, der die CSV-Datei ausliest und die Daten dann sukzessive in die SQLite-Datenbank schreibt. Dies ist eigentlich kein großer Aufwand.

      Sofern Sie Unterstützung bei Ihrem Projekt benötigen, kann ich Ihnen gerne behilflich sein. Im Impressum steht meine E-Mail Adresse. Sie können mich jederzeit kontaktieren.

      Mit besten Grüßen

      Martin Kogut