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 – Eine Übersicht darüber, wofür und ContentProvider wie es funktioniert.

  • Verwenden eines Inhaltsanbieters : Ein Beispiel für den Zugriff auf die Kontaktliste.

  • Verwenden von ContentProvider zum Freigeben von Daten – Schreiben und Verwenden von in ContentProvider 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.