blob: 1707f038b3ce0c4423c5fc18fd21a37382d9f262 [file] [log] [blame]
page.title=Content Providers
@jd:body
<div id="qv-wrapper">
<div id="qv">
<!-- In this document -->
<h2>Topics</h2>
<ol>
<li>
<a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
Content Provider Basics</a>
</li>
<li>
<a href="{@docRoot}guide/topics/providers/content-provider-creating.html">
Creating a Content Provider</a>
</li>
<li>
<a href="{@docRoot}guide/topics/providers/calendar-provider.html">Calendar Provider</a>
</li>
</ol>
<!-- Related Samples -->
<h2>Related Samples</h2>
<ol>
<li>
<a href="{@docRoot}resources/samples/ContactManager/index.html">
Contact Manager</a> application
</li>
<li>
<a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/List2.html">
&quot;Cursor (People)&quot;
</a>
</li>
<li>
<a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html">
&quot;Cursor (Phones)&quot;</a>
</li>
</ol>
</div>
</div>
<p>
Content providers manage access to a structured set of data. They encapsulate the
data, and provide mechanisms for defining data security. Content providers are the standard
interface that connects data in one process with code running in another process.
</p>
<p>
When you want to access data in a content provider, you use the
{@link android.content.ContentResolver} object in your
application's {@link android.content.Context} to communicate with the provider as a client.
The {@link android.content.ContentResolver} object communicates with the provider object, an
instance of a class that implements {@link android.content.ContentProvider}. The provider
object receives data requests from clients, performs the requested action, and
returns the results.
</p>
<p>
You don't need to develop your own provider if you don't intend to share your data with
other applications. However, you do need your own provider to provide custom search
suggestions in your own application. You also need your own provider if you want to copy and
paste complex data or files from your application to other applications.
</p>
<p>
Android itself includes content providers that manage data such as audio, video, images, and
personal contact information. You can see some of them listed in the reference
documentation for the
<code><a href="{@docRoot}reference/android/provider/package-summary.html">android.provider</a>
</code> package. With some restrictions, these providers are accessible to any Android
application.
</p><p>
The following topics describe content providers in more detail:
</p>
<dl>
<dt>
<strong><a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
Content Provider Basics</a></strong>
</dt>
<dd>
How to access data in a content provider when the data is organized in tables.
</dd>
<dt>
<strong><a href="{@docRoot}guide/topics/providers/content-provider-creating.html">
Creating a Content Provider</a></strong>
</dt>
<dd>
How to create your own content provider.
</dd>
<dt>
<strong><a href="{@docRoot}guide/topics/providers/calendar-provider.html">
Calendar Provider</a></strong>
</dt>
<dd>
How to access the Calendar Provider that is part of the Android platform.
</dd>
</dl>