Einführung in ContentProviders
Das Android-Betriebssystem verwendet Inhaltsanbieter, um den Zugriff auf freigegebene Daten (z. B. Mediendateien, Kontakte und Kalenderinformationen) zu unterstützen. In diesem Artikel wird die ContentProvider-Klasse vorgestellt, und es werden zwei Beispiele für deren Verwendung gezeigt.
Inhaltsanbieter: Übersicht
Ein ContentProvider kapselt ein Datenrepository und stellt eine API für den Zugriff darauf bereit. Der Anbieter ist als Teil einer Android-Anwendung vorhanden, die in der Regel auch eine Benutzeroberfläche zum Anzeigen und Verwalten der Daten bereitstellt. Der Hauptvorteil der Verwendung eines Inhaltsanbieters besteht darin, dass andere Anwendungen mithilfe eines Anbieterclientobjekts (als ContentResolver bezeichnet) problemlos auf die gekapselten Daten zugreifen können. Ein Inhaltsanbieter und eine Inhaltsauflösung bieten zusammen eine konsistente anwendungsübergreifende API für den Datenzugriff, die einfach zu erstellen und zu nutzen ist. Jede Anwendung kann ContentProviders
verwenden, um Daten intern zu verwalten und sie auch für andere Anwendungen zur Verfügung zu stellen.
Ein ContentProvider
ist auch erforderlich, damit Ihre Anwendung benutzerdefinierte Suchvorschläge bereitstellen kann, oder wenn Sie eine Möglichkeit zum Kopieren komplexer Daten aus Ihrer Anwendung bereitstellen möchten, um sie in andere Anwendungen einzufügen. In diesem Dokument wird gezeigt, wie Sie mit Xamarin.Android auf ContentProviders
zugreifen und diese erstellen.
Dieser Abschnitt ist wie folgt gegliedert:
Funktionsweise – Ein Überblick über das
ContentProvider
Design und die Funktionsweise.Verwenden eines Inhaltsanbieters – Ein Beispiel für den Zugriff auf die Kontaktliste.
Verwenden von ContentProvider zum Freigeben von Daten – Schreiben und Verwenden einer
ContentProvider
Datei in derselben Anwendung.
ContentProviders
und die Cursor, die mit deren Daten arbeiten, werden häufig verwendet, um ListViews mit Daten aufzufüllen. Weitere Informationen zur Verwendung dieser Klassen finden Sie im Leitfaden zu ListViews und Adaptern.
Von Android (oder anderen Anwendungen) bereitgestellte ContentProviders
bieten eine einfache Möglichkeit, Daten aus anderen Quellen in Ihre Anwendung einzubeziehen. Sie ermöglichen Ihnen den Zugriff auf und die Darstellung von Daten (etwa von Kontaktlisten, Fotos oder Kalenderinformationen aus Ihrer Anwendung) und Benutzern die Interaktion mit diesen Daten.
Benutzerdefinierte ContentProviders
sind eine bequeme Möglichkeit zum Verpacken Ihrer Daten für die Verwendung in Ihrer eigenen App oder durch andere Anwendungen (z. B. Sonderanwendungen wie benutzerdefinierte Suche und Kopieren/Einfügen).
Die Themen in diesem Abschnitt enthalten einige einfache Beispiele zum Nutzen und Schreiben von ContentProvider
-Code.