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 "Cursor (People)" 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 "Cursor (Phones)"</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