19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpage.title=Content Providers
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@jd:body
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<div id="qv-wrapper">
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<div id="qv">
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6ec80d7f311b1a0899bb4caf5b380b07027e902d1Scott Main
7a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<!-- In this document -->
8a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<h2>Topics</h2>
9ec80d7f311b1a0899bb4caf5b380b07027e902d1Scott Main<ol>
10a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <li>
11a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
12a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        Content Provider Basics</a>
13a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </li>
14a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <li>
15a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <a href="{@docRoot}guide/topics/providers/content-provider-creating.html">
16a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        Creating a Content Provider</a>
17a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </li>
18a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <li>
19a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <a href="{@docRoot}guide/topics/providers/calendar-provider.html">Calendar Provider</a>
20a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </li>
2150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    <li>
2250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <a href="{@docRoot}guide/topics/providers/contacts-provider.html">Contacts Provider</a>
2350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    </li>
24ec80d7f311b1a0899bb4caf5b380b07027e902d1Scott Main</ol>
25921afe39d6041b06c6a002b08f9dcd1561a9ae99Katie McCormick
26a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <!-- Related Samples -->
27a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<h2>Related Samples</h2>
28a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <ol>
29a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <li>
30a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin            <a href="{@docRoot}resources/samples/ContactManager/index.html">
31a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin            Contact Manager</a> application
32a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        </li>
33a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <li>
34a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <a
35a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/List2.html">
36a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        &quot;Cursor (People)&quot;
37a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        </a>
38a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        </li>
39a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <li>
40a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <a
41a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html">
42a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        &quot;Cursor (Phones)&quot;</a>
43a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        </li>
4450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <li>
4550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main            <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
4650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main            Sample Sync Adapter</a>
4750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </li>
48a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </ol>
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</div>
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</div>
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>
52a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    Content providers manage access to a structured set of data. They encapsulate the
53a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    data, and provide mechanisms for defining data security. Content providers are the standard
54a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    interface that connects data in one process with code running in another process.
55a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</p>
56a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<p>
57a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    When you want to access data in a content provider, you use the
58a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    {@link android.content.ContentResolver} object in your
59a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    application's {@link android.content.Context} to communicate with the provider as a client.
60a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    The {@link android.content.ContentResolver} object communicates with the provider object, an
61a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    instance of a class that implements {@link android.content.ContentProvider}. The provider
62a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    object receives data requests from clients, performs the requested action, and
63a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    returns the results.
64a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</p>
65a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<p>
66a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    You don't need to develop your own provider if you don't intend to share your data with
67a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    other applications. However, you do need your own provider to provide custom search
68a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    suggestions in your own application. You also need your own provider if you want to copy and
69a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    paste complex data or files from your application to other applications.
70a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</p>
71a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<p>
72a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    Android itself includes content providers that manage data such as audio, video, images, and
73a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    personal contact information. You can see some of them listed in the reference
74a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    documentation for the
75a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <code><a href="{@docRoot}reference/android/provider/package-summary.html">android.provider</a>
76a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </code> package. With some restrictions, these providers are accessible to any Android
77a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    application.
78a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</p><p>
79a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    The following topics describe content providers in more detail:
80a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</p>
81a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin<dl>
82a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dt>
83a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <strong><a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
84a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        Content Provider Basics</a></strong>
85a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dt>
86a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dd>
87a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        How to access data in a content provider when the data is organized in tables.
88a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dd>
89a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dt>
90a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <strong><a href="{@docRoot}guide/topics/providers/content-provider-creating.html">
91a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        Creating a Content Provider</a></strong>
92a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dt>
93a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dd>
94a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        How to create your own content provider.
95a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dd>
96a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dt>
97a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        <strong><a href="{@docRoot}guide/topics/providers/calendar-provider.html">
98a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        Calendar Provider</a></strong>
99a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dt>
100a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    <dd>
101a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin        How to access the Calendar Provider that is part of the Android platform.
102a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin    </dd>
10350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    <dt>
10450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <strong><a href="{@docRoot}guide/topics/providers/contacts-provider.html">
10550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        Contacts Provider</a></strong>
10650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    </dt>
10750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    <dd>
10850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        How to access the Contacts Provider that is part of the Android platform.
10950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    </dd>
110a2a46f629446af0935e8ebbbd7cdb55e395f79f3Joe Malin</dl>
111