Introduction à ContentProviders

Le système d’exploitation Android utilise des fournisseurs de contenu pour faciliter l’accès aux données partagées telles que les fichiers multimédias, les contacts et les informations de calendrier. Cet article présente la classe ContentProvider et fournit deux exemples de son utilisation.

Vue d’ensemble des fournisseurs de contenu

Un ContentProvider encapsule un référentiel de données et fournit une API pour y accéder. Le fournisseur existe dans le cadre d’une application Android qui fournit généralement également une interface utilisateur pour l’affichage/la gestion des données. Le principal avantage de l’utilisation d’un fournisseur de contenu est de permettre à d’autres applications d’accéder facilement aux données encapsulées à l’aide d’un objet client de fournisseur (appelé ContentResolver). Ensemble, un fournisseur de contenu et un programme de résolution de contenu offrent une API inter-application cohérente pour l’accès aux données qui est simple à générer et à consommer. N’importe quelle application peut choisir d’utiliser ContentProviders pour gérer des données en interne et également pour les exposer à d’autres applications.

Un ContentProvider est également requis pour que votre application fournisse des suggestions de recherche personnalisées, ou si vous souhaitez fournir la possibilité de copier des données complexes à partir de votre application pour les coller dans d’autres applications. Ce document montre comment accéder et générer ContentProviders avec Xamarin.Android.

La structure de cette section est la suivante :

  • Fonctionnement : vue d’ensemble de ce pour quoi le ContentProvider est conçu et de son fonctionnement.

  • Utilisation d’un fournisseur de contenu : exemple d’accès à la liste des contacts.

  • Utilisation de ContentProvider pour partager des données : écriture et consommation d’un ContentProvider dans la même application.

ContentProviders et les curseurs qui fonctionnent sur leurs données sont souvent utilisés pour remplir listViews. Pour plus d’informations sur l’utilisation de ces classes, reportez-vous au guide ListViews and Adapters .

ContentProviders exposés par Android (ou d’autres applications) sont un moyen simple d’inclure des données provenant d’autres sources dans votre application. Ils vous permettent d’accéder et de présenter des données telles que la liste des contacts, les photos ou les événements de calendrier à partir de votre application, et de permettre à l’utilisateur d’interagir avec ces données.

Les données personnalisées ContentProviders sont un moyen pratique d’empaqueter vos données pour les utiliser à l’intérieur de votre propre application ou pour les utiliser par d’autres applications (y compris des utilisations spéciales telles que la recherche personnalisée et le copier/coller).

Les rubriques de cette section fournissent des exemples simples de consommation et d’écriture ContentProvider de code.