Freigeben über


Einführung in die Datenspeicherung in Xamarin.iOS-Apps

Wann eine Datenbank verwendet werden soll

Während die Speicher- und Verarbeitungsfunktionen mobiler Geräte steigen, liegen Smartphones und Tablets weiterhin hinter ihren Desktop- und Laptop-Gegenstücken. Aus diesem Grund lohnt es sich, etwas Zeit zu nehmen, um die Datenspeicherarchitektur für Ihre App zu planen, anstatt nur davon auszugehen, dass eine Datenbank immer die richtige Antwort ist. Es gibt eine Reihe verschiedener Optionen, die unterschiedlichen Anforderungen entsprechen, z. B.:

  • Einstellungen – iOS bietet einen integrierten Mechanismus zum Speichern einfacher Schlüsselwertpaare von Daten. Wenn Sie einfache Benutzereinstellungen oder kleine Datenelemente (z. B. Personalisierungsinformationen) speichern, verwenden Sie die systemeigenen Features der Plattform zum Speichern dieser Art von Informationen. Für iOS können Sie auch die iCloud-Synchronisierung für diese Daten nutzen, sowohl für die Sicherung als auch für die Synchronisierung für Benutzer mit mehreren Geräten.
  • 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 im Dateisystem als XML oder JSON beibehalten werden. Das .NET Framework enthält Bibliotheken, die das Serialisieren und De serialisieren von Objekten vereinfachen. Verwenden Sie geeignete Namen, um Datendateien zu organisieren.
  • Datenbank – Das SQLite-Datenbankmodul ist iOS verfügbar und eignet sich zum Speichern strukturierter Daten, die Sie abfragen, sortieren oder anderweitig bearbeiten müssen. 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, empfiehlt es sich, sie direkt im Dateisystem zu speichern. Bei Bedarf können Sie die Dateinamen in einer Datenbank speichern, um das Bild anderen Daten zuzuordnen. Beim Umgang mit großen Bildern oder vielen Bildern 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 re Standard der dieses Dokuments erläutert, wie SQLite auf der Xamarin-Plattform verwendet wird.

Vorteile der Verwendung einer Datenbank

Es gibt eine Reihe von Vorteilen für die Verwendung einer SQL-Datenbank in Ihrer mobilen App:

  • 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 ein Open-Source-Datenbankmodul, das von Apple für ihre mobile Plattform übernommen wurde. Das SQLite-Datenbankmodul ist in iOS integriert, sodass Es keine zusätzliche Arbeit für Entwickler gibt, um es zu nutzen. SQLite eignet sich gut für die plattformübergreifende mobile Entwicklung, da:

  • Das Datenbankmodul ist klein, schnell und einfach portierbar.
  • Eine Datenbank wird in einer einzelnen Datei gespeichert, die auf mobilen Geräten einfach verwaltet werden kann.
  • Das Dateiformat ist auf allen Plattformen einfach zu verwenden: ob 32- oder 64-Bit- und Big- oder Little-Endian-Systeme.
  • Er implementiert den größten Teil des SQL92-Standards.

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

  • Einige OUTER-Verknüpfungssyntax wird nicht unterstützt.
  • Nur TabellenUMBENENN und ADDCOLUMN werden unterstützt. Sie können keine anderen Änderungen am Schema vornehmen.
  • Ansichten sind schreibgeschützt.

Weitere Informationen zu SQLite finden Sie auf der Website - SQLite.org - aber alle Informationen, die Sie für die Verwendung von SQLite mit Xamarin benötigen, sind in diesem Dokument und den zugehörigen Beispielen enthalten. Das SQLite-Datenbankmodul ist in alle Versionen von iOS integriert. Obwohl in diesem Kapitel nicht behandelt wird, ist SQLite auch für die Verwendung unter Windows Telefon 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 der Tasky-Fallstudie und lesen Sie tim Heuers Blog.