Topics
Related Samples
Content provider管理android以结构化方式存放的数据。他以相对安全的方式封装数据并且提供简易的处理机制。Content provider提供不同进程间数据交互的标准化接口。
当你准备取出content provider中的数据时,你需要获得一个和当前上下文相关的ContentResolver对象作为客户端。这个对象和一个继承至ContentProvider的provider对象相关联。provider从客户端接收请求并且返回结果。
如果你不准备和其他应用共享你的数据,你不需要自定义provider。但是,你需要实现provider以满足个性化搜索数据的需求。同时,当你拷贝和粘贴复杂数据或者文件到他人应用中时,也需要provider。
以下是英文部分,请选择性阅读: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.
When you want to access data in a content provider, you use the
ContentResolver
object in your
application's Context
to communicate with the provider as a client.
The ContentResolver
object communicates with the provider object, an
instance of a class that implements ContentProvider
. The provider
object receives data requests from clients, performs the requested action, and
returns the results.
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.
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
android.provider
package. With some restrictions, these providers are accessible to any Android
application.
The following topics describe content providers in more detail:
- Content Provider Basics
- How to access data in a content provider when the data is organized in tables.
- Creating a Content Provider
- How to create your own content provider.
- Calendar Provider
- How to access the Calendar Provider that is part of the Android platform.
- Contacts Provider
- How to access the Contacts Provider that is part of the Android platform.