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.html
//content provider是鏈接兩個進程間數據的標準接口android
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.app
//當你想訪問content provider中的數據時,你要使用content resolver對象做爲一個client來和contentprovider這個server來通訊。content resolver和一個provider對象通訊,這個對象是一個實現了contentprovider的實例。這個provider接收到了client的請求,執行請求操做,而後返回結果。ide
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.ui
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 theandroid.provider
package. With some restrictions, these providers are accessible to any Android application.rest
The following topics describe content providers in more detail:code