0

別のアプリケーションからコンテンツ プロバイダにアクセスしようとしている場合、そのアプリケーションはその cp にアクセスするために実行されている必要がありますか?

最後に、別のコンテンツ プロバイダーからクエリを実行するにはどうすればよいですか。私が見つけた唯一の例は、非推奨の managedQuery を使用していました。

例やウォークスルーは素晴らしいでしょう。ありがとうございました。

4

1 に答える 1

0
  1. いいえ、ContentProviders はファースト クラスのコンポーネント (アクティビティやサービスと同様) であり、いつでもアクセスできます。
  2. コンテンツ プロバイダの基本事項では、 getContentResolver().query() (は のメソッド)ContentProviderを使用してにアクセスする主なポイントについて説明します。getContentResolver()Context

AsyncQueryHandlerを使用して、非同期の挿入/更新/削除/クエリ機能を提供することもできます。これは、メイン スレッドを拘束したくない 1 回限りのクエリに最適です (クエリが長いとアプリが応答しなくなってしまう可能性があるため)。

ただし、クエリが繰り返し発生する場合は、Loader フレームワーク(サポート ライブラリからも入手可能) とCursorLoaderが s を操作する最も簡単な方法ですContentProvider。データが変更されると自動的に更新されるからです (それぞれの後に適切な URI でnotifyChangeContentProviderを呼び出していると仮定します)。手術)。

于 2013-09-13T19:07:03.673 に答える