Intro to ContentProviders

PDF for offline use
Sample Code:
Related SDKs:

Let us know how you feel about this


0/250

The Android operating system uses content providers to facilitate access to shared data such as media files, contacts and calendar information. This article introduces the ContentProvider class, and provides two examples of how to use it.

Overview

A ContentProvider encapsulates a data repository and provides an API to access it. The provider exists as part of an Android application that usually also provides a UI for displaying/managing the data. The key benefit of using a content provider is enabling other applications to easily access the encapsulated data using a provider client object (called a ContentResolver). Together, a content provider and content resolver offer a consistent inter-application API for data access that is simple to build and consume. Any application can choose to use ContentProviders to manage data internally and also to expose it to other applications.

A ContentProvider is also required for your application to provide custom search suggestions, or if you want to provide the ability to copy complex data from your application to paste into other applications. This document shows how to access and build ContentProviders with Xamarin.Android.

The document structure is as follows:

How it works – An overview of what the ContentProvider is designed for and how it works.

Consuming a Content Provider – An example accessing the Contacts list.

Using ContentProvider to share data – Writing and consuming a ContentProvider in the same application.

ContentProviders and the cursors that operate on their data are often used to populate ListViews. Refer to the ListViews and Adapters guide for more information on how to use those classes.

Sections

Part 1 - How It Works

Part 2 - Using the Contacts ContentProvider

Part 3 - Creating a Custom ContentProvider

Summary

ContentProviders exposed by Android (or other applications) are an easy way to include data from other sources in your application. They allow you to access and present data such as the Contacts list, photos or calendar events from within your application, and let the user interact with that data.

Custom ContentProviders are a convenient way to package your data for use inside your own app, or for use by other applications (including special uses like custom search and copy/paste).

This document provides some simple examples of consuming and writing ContentProvider code.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.