コンテンツプロバイダは、構造化されたデータセットへのアクセスを管理します。それらはデータをカプセル化し、データセキュリティを定義するためのメカニズムを提供します。コンテンツプロバイダは、あるプロセスのデータを別のプロセスで実行されているコードと接続する標準インタフェースです。
コンテンツプロバイダのデータにアクセスするには、アプリケーションのContext
でContentResolver
オブジェクトを使用して、プロバイダとしてクライアントとして通信します。 ContentResolver
オブジェクトは、 ContentProvider
を実装するクラスのインスタンスであるプロバイダオブジェクトと通信します。プロバイダオブジェクトは、クライアントからのデータ要求を受け取り、要求された処理を実行し、結果を返します。
他のアプリケーションとデータを共有しない場合は、独自のプロバイダを開発する必要はありません。ただし、独自のアプリケーションでカスタム検索提案を提供するには、独自のプロバイダが必要です。複雑なデータやファイルをアプリケーションから他のアプリケーションにコピーして貼り付ける場合は、独自のプロバイダも必要です。
Android自体には、オーディオ、ビデオ、画像、個人の連絡先情報などのデータを管理するコンテンツプロバイダが含まれています。いくつかはandroid.provider
パッケージのリファレンスドキュメントに記載されています。いくつかの制限があり、これらのプロバイダにはどのAndroidアプリケーションからでもアクセスできます。