Content_Provider を構築しようとしていますが、Base_path で行き詰っています....
たとえば、次のようなテーブル名の到着があります。
CONTENT_URI に名前を付けるにはどうすればよいですか? 誰でも私を助けることができますか?
前もって感謝します !
Content_Provider を構築しようとしていますが、Base_path で行き詰っています....
たとえば、次のようなテーブル名の到着があります。
CONTENT_URI に名前を付けるにはどうすればよいですか? 誰でも私を助けることができますか?
前もって感謝します !
ドキュメントから:
コンテンツ
URI
はURI
、プロバイダ内のデータを識別する です。コンテンツ URI には、プロバイダー全体の記号名 (その機関) と、テーブルを指す名前 (パス) が含まれます。クライアント メソッドを呼び出してプロバイダー内のテーブルにアクセスする場合、テーブルのコンテンツ URI が引数の 1 つになります。上記のコード行では、定数にユーザー辞書の「単語」テーブルの
CONTENT_URI
内容が含まれています。URI
ContentResolver オブジェクトは URI の権限を解析し、それを使用して、既知のプロバイダーのシステム テーブルと権限を比較することで、プロバイダーを "解決" します。その後、ContentResolver はクエリ引数を正しいプロバイダーにディスパッチできます。ContentProvider は、コンテンツ URI のパス部分を使用して、アクセスするテーブルを選択します。通常、プロバイダーには、公開する各テーブルのパスがあります。
コードの前の行では
URI
、「words」テーブルの完全な内容は次のとおりです。
content://user_dictionary/words
ここで、user_dictionary
string はプロバイダーの機関であり、words string はテーブルのパスです。文字列 content:// (スキーム) は常に存在し、これを content として識別しますURI
。
したがって、 にはcontent_uri
と がありauthority
ますbase_path
。はContentResolver
、パーツを使用しauthority
て選択するプロバイダーを決定し、パーツを使用base_path
してデータを提供するテーブルを決定します。したがって、単純化すると、base_path
通常はプロバイダー内の特定のテーブルのパスです。