Freigeben über


Einführung

Wann sollte eine Datenbank verwendet werden?

Während die Speicher- und Verarbeitungsfunktionen mobiler Geräte zunehmen, hinken Smartphones und Tablets immer noch hinter ihren Desktop- und Laptop-Pendants zurück. Aus diesem Grund lohnt es sich, sich etwas Zeit zu nehmen, um die Datenspeicherungsarchitektur für Ihre App zu planen, anstatt einfach davon auszugehen, dass eine Datenbank immer die richtige Antwort ist. Es gibt eine Reihe verschiedener Optionen, die unterschiedlichen Anforderungen entsprechen, z. B.:

  • Einstellungen: Android bietet einen integrierten Mechanismus zum Speichern einfacher Schlüssel-Wert-Paare von Daten. Wenn Sie einfache Benutzereinstellungen oder kleine Daten (z. B. Personalisierungsinformationen) speichern, verwenden Sie die nativen Funktionen der Plattform zum Speichern dieser Art von Informationen.
  • Textdateien – Benutzereingaben oder Caches von heruntergeladenen Inhalten (z. B. HTML) kann direkt im Dateisystem gespeichert werden. Verwenden Sie eine geeignete Dateibenennungskonvention, um die Dateien zu organisieren und Daten zu finden.
  • Serialisierte Datendateien : Objekte können als XML oder JSON im Dateisystem beibehalten werden. Das .NET Framework enthält Bibliotheken, die das Serialisieren und Deserialisieren von Objekten vereinfachen. Verwenden Sie geeignete Namen, um Datendateien zu organisieren.
  • Datenbank : Die SQLite-Datenbank-Engine ist auf der Android-Plattform verfügbar und eignet sich zum Speichern strukturierter Daten, die Sie abfragen, sortieren oder anderweitig bearbeiten müssen. Der Datenbankspeicher eignet sich für Listen mit Daten mit vielen Eigenschaften.
  • Bilddateien : Obwohl es möglich ist, Binärdaten in der Datenbank auf einem mobilen Gerät zu speichern, wird empfohlen, sie direkt im Dateisystem zu speichern. Bei Bedarf können Sie die Dateinamen in einer Datenbank speichern, um das Image anderen Daten zuzuordnen. Wenn Sie große Bilder oder viele Bilder verwenden, empfiehlt es sich, eine Zwischenspeicherungsstrategie zu planen, die Dateien löscht, die Sie nicht mehr benötigen, um den gesamten Speicherplatz des Benutzers zu vermeiden.

Wenn eine Datenbank der richtige Speichermechanismus für Ihre App ist, wird im weiteren Verlauf dieses Dokuments erläutert, wie SQLite auf der Xamarin-Plattform verwendet wird.

Vorteile der Verwendung einer Datenbank

Die Verwendung einer SQL-Datenbank in Ihrer mobilen App hat eine Reihe von Vorteilen:

  • SQL-Datenbanken ermöglichen eine effiziente Speicherung strukturierter Daten.
  • Bestimmte Daten können mit komplexen Abfragen extrahiert werden.
  • Abfrageergebnisse können sortiert werden.
  • Abfrageergebnisse können aggregiert werden.
  • Entwickler mit vorhandenen Datenbankkenntnissen können ihr Wissen nutzen, um den Datenbank- und Datenzugriffscode zu entwerfen.
  • Das Datenmodell aus der Serverkomponente einer verbundenen Anwendung kann (ganz oder teilweise) in der mobilen Anwendung wiederverwendet werden.

SQLite-Datenbank-Engine

SQLite ist eine Open-Source-Datenbank-Engine, die von Google für die mobile Plattform übernommen wurde. Die SQLite-Datenbank-Engine ist in beide Betriebssysteme integriert, sodass entwickler keine zusätzlichen Arbeit davon nutzen können. SQLite eignet sich gut für die plattformübergreifende mobile Entwicklung aus folgenden Gründen:

  • Die Datenbank-Engine ist klein, schnell und einfach portierbar.
  • Eine Datenbank wird in einer einzelnen Datei gespeichert, die auf mobilen Geräten einfach zu verwalten ist.
  • Das Dateiformat ist plattformübergreifend einfach zu verwenden: 32- oder 64-Bit- und Big- oder Little-Endian-Systeme.
  • Es implementiert den größten Teil des SQL92-Standards.

Da SQLite klein und schnell ist, gibt es einige Einschränkungen bei der Verwendung:

  • Einige OUTER-Joinsyntax wird nicht unterstützt.
  • Nur die Tabellen RENAME und ADDCOLUMN werden unterstützt. Sie können keine weiteren Änderungen am Schema vornehmen.
  • Ansichten sind schreibgeschützt.

Weitere Informationen zu SQLite finden Sie auf der Website SQLite.org . Alle Informationen, die Sie für die Verwendung von SQLite mit Xamarin benötigen, finden Sie in diesem Dokument und den zugehörigen Beispielen. Die SQLite-Datenbank-Engine wird in Android seit Android 2 unterstützt. OBWOHL in diesem Kapitel nicht behandelt, ist SQLite auch für Windows Phone- und Windows-Anwendungen verfügbar.

Windows und Windows Phone

SQLite kann auch auf Windows-Plattformen verwendet werden, obwohl diese Plattformen in diesem Dokument nicht behandelt werden. Lesen Sie mehr in den Fallstudien zu Tasky und Tasky Pro , und lesen Sie den Blog von Tim Heuer.