プロバイダは、データの中央リポジトリへのアクセスを管理します。ファイルで実装します。これは、プロバイダと他のアプリとの間のインターフェースになります。プロバイダは他のアプリへのデータの提供を意図したものですが、ユーザーがプロバイダに管理されるデータを照会、修正するアクティビティをアプリ内に設定することもできます。リストをビルドするための基本的な手順を挙げていきます。ビルドを開始する前にプロバイダのビルドを開始する前に、次の点について検討してください。プロバイダが必要かどうかを決定します。プロバイダをビルドする必要があります。他のアプリに複雑なデータやファイルを提供する。アプリから他のアプリへの複雑なデータのコピーをユーザーに許可する。検索フレームワークを使用してカスタムの検索候補を提供する。データをウィジェットに公開する。独自アプリ内だけで使用し、上記のどの機能も必要ない場合は、データベースや他のタイプの永続ストレージを使用するプロバイダは必要ありません。システムを使用できます。プロバイダの基本のトピックをご覧ください。次に、以下の手順に従ってプロバイダをビルドします。データの未処理のストレージを設計します。つの方法でデータを提供します。ファイルデータ通常、写真、オーディオ、ビデオなどのファイルの形式となるデータです。スペースに格納します。ファイルに対する別のアプリからの要求に応じて、プロバイダからファイルへのハンドルが提供されます。「構造化」データ通常、データベース、配列、類似の構造の形式となるデータです。テーブルの行と列に互換性を持つ形式でデータが格納されます。行は、担当者や在庫にあるアイテムなどのエンティティを表します。列は、担当者の名前やアイテムの価格などの、エンティティの一部のデータを表します。データベースに格納しますが、任意のタイプの永続ストレージを使用できます。ストレージを設計するをご覧ください。クラスの具体的な実装とそれに必要なメソッドを定義します。システムのそれ以外の部分とのインターフェースとなります。クラスを実装するセクションをご覧ください。URI、列名を定義します。データ、フラグも定義します。データにアクセスするアプリに必要なパーミッションも定義します。クラスに定義するようにします。しておくと、後で他のデベロッパーに対してこのクラスを公開できます。設計するセクションをご覧ください。セクションをご覧ください。実装などの、その他のオプション部分を追加します。プロバイダは、構造化された形式で保存されているデータへのインターフェースです。インターフェースを作成する前に、データの格納方法を決定しておく必要があります。データは任意の形式で保存でき、必要に応じてデータの読み取りと書き込みを行うためのインターフェースを設計できます。次のように、いくつかのデータ格納テクノロジーがあります。キー値データストアを検討してください。オーディオ、画像、ビデオメディアなどの非構造化データを使用している場合は、データをファイルとして格納することを検討してください。プロバイダを使用してそれらを公開できます。永続ライブラリとやり取りできます。アクセスを提供します。サブクラスをインスタンス化します。リポジトリを実装するのに、データベースを使用する必要がありません。データベースに似た一連のテーブルとして表示されますが、プロバイダの内部実装をそのような形式にする必要はありません。ストレージのトピックをご覧ください。音楽やビデオのようにメディア関連のデータを提供するプロバイダを設計する場合は、テーブルデータとファイルを組み合わせるプロバイダを作成できます。プロバイダを実装することでメリットが得られることがあります。プロバイダを使用してウィジェットと一部のデータを共有し、他のアプリと共有するために別のデータセットを公開できます。データストアに同期させ、データをテーブルやファイルとして提供することもできます。アプリでは、このタイプの同期を示しています。注:後方互換性がないリポジトリに変更を加えた場合は、そのリポジトリに新しいバージョン番号を付ける必要があります。プロバイダを実装するアプリのバージョン番号を増やす必要があります。プロバイダを持つアプリを再インストールしようとしたときに、システムがダウングレードしてクラッシュするのを防ぐことができます。次に、プロバイダのデータ構造を設計する際のヒントを示します。テーブルデータには、プロバイダが各行の一意の数値として保持する「プライマリキー」列が常に必要です。この値を使用すると、行を他のテーブルの関連する行にリンクできます(「外部キー」として使用)。使用することをお勧めします。ビットマップ画像やサイズが非常に大きなその他のファイル指向のデータを提供する場合は、テーブルにデータを直接格納するのではなく、データをファイルに格納し、データを間接的に提供します。メソッドの使用が必要であることをプロバイダのユーザーに通知する必要があります。オブジェクト(BLOB)データタイプを使用します。使用してスキーマに依存しないテーブルを実装できます。タイプ列の値によって示されます。これにより、同じテーブルにさまざまな行タイプを格納できます。スキーマに依存しないテーブルの例です。プロバイダ全体の識別名(認証局)とテーブルやファイルをポイントする名前(パス)が含まれます。部分は、テーブル内の個々の行を指します。これにより、アクセスするテーブル、行、ファイルを決定できます。プロバイダの基本のトピックをご覧ください。ドメインの所有権を使用する必要があります。パッケージ名にもあてはまるため、プロバイダを含むパッケージの名前の拡張子として、プロバイダの認証局を定義できます。付与する必要があります。