Einführung in die Android SQLite-Datenbank



Der Blog bietet eine Einführung in die Android SQLite-Datenbank

Einführung in die Android SQLite-Datenbank

Die Android SQLite-Datenbank benötigt sehr wenig Speicher (ca. 250 KB), der auf allen Android-Geräten verfügbar ist. Jedes Gerät verfügt über eine integrierte Unterstützung für die SQLite-Datenbank, die von der Erstellung über die Ausführung bis zur Abfrage automatisch auf Android verwaltet wird.





SQLite ist eine Open Source Datenbank, die auf jeder Android Datenbank verfügbar ist. Es unterstützt Standardfunktionen für Beziehungsdatenbanken wie SQL-Syntax, Transaktionen und SQL-Anweisungen. SQLite ist erheblich die leichtere Version der SQL-Datenbank, bei der die meisten SQL-Befehle nicht in der SQLite-Datenbank ausgeführt werden. Sobald SQLite eingerichtet ist, ist es wichtig sicherzustellen, dass eine Funktion oder ein Befehl nur dann in SQLite verfügbar ist, wenn sie ausgeführt werden können.

Die grundlegenden Vorteile von SQLite:



  • Es ist eine leichte Datenbank
  • Benötigt sehr wenig Speicher
  • Eine automatisch verwaltete Datenbank

Die SQLite unterstützt nur 3 Datentypen:

  • Text (wie Zeichenfolge) - zum Speichern des Datentypspeichers
  • Ganzzahl (wie int) - zum Speichern eines ganzzahligen Primärschlüssels
  • Real (wie Double) - zum Speichern langer Werte

Grundsätzlich validiert SQLite Datentypen nicht selbst. Mit anderen Worten, welche Datentypen auch immer verwendet werden, sie werden als gültig bezeichnet.

In diesem Fall wurde beispielsweise die Datenbank eines Kabelbetreibers erörtert. Hier wird eine neue Tabelle mit 'Text' im Namensfeld und im Feldnamenfeld mit 'Textfeld' hinzugefügt. Ein Datentyp mit zufälligen Werten wurde erstellt. Das Endergebnis ist eine Testtabelle mit einem ungültigen Datentyp, aus der hervorgeht, dass SQLite den Datentyp nicht überprüft.



* Sie können die Datenbank finden, indem Sie auf Paket klicken und auf den Datenordner des Datenbankordners zugreifen, der die Datei enthält.

Hinweis: Die SQLiteOpen Helper-Klasse wird zum Verwalten der Datenbankerstellung und der Versionsverwaltung verwendet.

Benutzerfragen:

Ist die Änderung der Datenbankversion eine Änderung der SQLite-Version des Objekts?

In der SQLite-Version des Objekts gibt es keine Änderung, da einer die Erstellung / Aktualisierung der Datenbank übernimmt und der andere Daten spielt, die in den Tabellen der Datenbank gespeichert sind. Dabei besteht überhaupt keine Abhängigkeit

Wenn wir die SQLiteopenHelper-Klasse erweitern, überschreiben wir die Oncreate & OnUpgrade-Methoden in dieser Klasse. Wenn auf die SQLite-Datenbank zugegriffen wird, kann dies abhängig von der Komplexität der Abfrage manchmal langsam sein. Es wird immer bevorzugt sicherzustellen, dass die geringsten Auswirkungen oder Abfragen, die in Rekursion ausgeführt werden, vermieden werden, wenn eine SQL-Abfrage ausgeführt wird. Auch ist esempfohlen, die Datenbank synchron durchzuführen.Diese Methoden werden vom Framework automatisch verarbeitet oder aufgerufen. Es muss auch beachtet werden, dass bei jeder Erhöhung der DB-Version automatisch onUpgrade aufgerufen wird.

Wenn von einer offenen SQLite-Hilfsklasse die Rede ist, werden der Datenbankname und die Version im Konstruktor der erweiterten Klasse übergeben.

Hierbei sind zwei Dinge zu berücksichtigen:

  • Die OnCreate () -Methode wird aufgerufen, wenn die Datenbank nicht vorhanden ist.
  • Die OnUpgrade () -Methode wird aufgerufen, wenn die Datenbankversion aktualisiert wird.

Die offene SQLite-Hilfsklasse gibt den Namen und die Version im Konstruktor an. Die getwriteabledatabase () wird aufgerufen. Wenn die Datenbank nicht vorhanden ist, wird OnCreate ausgeführt. Wenn die Datenbank vorhanden ist und die Version aktualisiert wurde, wird OnUpgrade () aufgerufen.

Sind diese Methoden beim ersten Aufruf von db?

Nehmen wir ein Beispiel. Sobald wir eine Anwendung installiert haben, wird OnCreate erstellt und die Methode apk wird in den Google Play Store hochgeladen. Sobald die neueste Version der apk heruntergeladen ist, wird die bereits installierte Datenbank überprüft. Wenn es eine höhere Version hat, wird das Upgrade aufgerufen. Wenn nicht, wird nichts unternommen.

Benutzerfrage

Ist eine Benutzerberechtigung erforderlich, um die Datenbankversion zu aktualisieren?

Wert übergeben und Referenz in Java übergeben

Nein, die Berechtigung ist nicht erforderlich, da wir an den Anwendungsressourcen arbeiten und keine Berechtigung einholen müssen.

Benutzerfrage

Wenn Benutzer1 meine Anwendung installiert hat und es sich um eine aktualisierte Version für DB handelt und anschließend Benutzer2 eine neue Anwendung installiert und Benutzer1 die App aktualisiert. Wenn in einem solchen Szenario Benutzer1 beim Versions-Upgrade aufgerufen wird und für Benutzer2 die Erstellungsmethode aufgerufen wird, sind alle Methoden von Android?

Ja, da noch keine Version auf dem Gerät installiert ist. Es spielt keine Rolle, solange keine frühere Version auf dem Gerät installiert ist. Es ist sehr ähnlich wie beim Framework-Handling.

Benutzerfrage

Können wir das SQLite-Datenbankobjekt haben? Was ist, wenn mein Datenbankname hatKonfliktmit einem anderen Datenbanknamenobjekt?

Dies spielt keine Rolle, da sich die Datenbank auf dem Paketnamen der Anwendung befindet. Dies sollte auch dann keinen Konflikt darstellen, wenn ein Unterordner mit demselben Namen erstellt wurde. Dies ist nur auf Stammebene von Bedeutung, und die Behandlung auf Stammebene erfolgt mithilfe des Paketnamens. Es muss beachtet werden, dass wir nicht zwei Anwendungen mit demselben Paketnamen haben können, aber wir können zwei verschiedene Datenbanknamen unter verschiedenen Paketen haben. Die SQLite-Datenbank übernimmt das Aktualisieren, Löschen, Einfügen, Abfragen sowie Schließen und Öffnen von Datenbankoperationen mithilfe des Objekts.

Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich und wir werden uns bei Ihnen melden.

Zusammenhängende Posts: