52

ContentProvidersContentResolverの違いは何ですか? SQLiteデータベースは必要ありません。メディア向けのアプリケーションを開発しています。

4

4 に答える 4

64

ここでいくつかの説明を見つけました。要約すれば

Content Resolverは、URI を特定のContent providerに解決します。

コンテンツ プロバイダーは、コンテンツをクエリするためのインターフェイスを提供します。

コンテンツ プロバイダーに問い合わせる方法は次のとおりです。contentResolverInstance.query(URI,.....)

于 2013-09-18T14:31:10.807 に答える
50

ContentProvidersデータベースを他の部分から抽象化するために使用され、データベースと UI/他のクラスの間のインターフェイスとして機能します。アプリ データを他のアプリと共有するには、独自の ContentProvider を作成する必要があります。

ContentResolverに基づいて適切な ContentProvider を選択するために使用されますContentUris。ContentUri は次のようになります

content://com.android.contacts/contacts/3

  • content://はスキームと 呼ばれ、ContentUri であることを示します。
  • com.android.contactsコンテンツ権限と呼ばれ、ContentResolver はそれを使用して一意のプロバイダー (この場合は ContactProvider) に解決します。
  • contactは、プロバイダーのデータの一部のサブセット (テーブル名など) を識別するパスです。
  • 3は、データのサブセット内の行を一意に識別するために使用されるIDです。

ここに画像の説明を入力

注 : 独自のアプリでも、このルートを使用してデータを処理できます。

詳細については、Android のコンテンツ プロバイダーを参照してください。

于 2016-11-12T11:34:16.137 に答える