連絡先が SQLite データベースに保存されているという意味では正しいですが、連絡先コンテンツ プロバイダーを介してアクセスされます。
Contacts Content Provider は、3 つのテーブル形式で編成されています。データ構造の一番下には、データ テーブルがあります。ここには、特定の RawContact に関連するすべてのデータがあります (後で説明します)。データ テーブルには、電話番号、電子メール、住所などの情報が格納されます。これは、mimetypes データベースで定義された MIME 名と値のペアを使用して行われます。1 つ上のレベルは RawContacts データベースです。ここには、同じアカウントに関連するすべての情報が表示されます (つまり、Contact John Doe は twitter と Facebook のアカウントを持っている可能性があります)。つまり、RawContacts テーブルは、同じ人物に関連するデータ MIME タイプを追跡するため、異なるアカウントに対して同じ情報を複数回保存する必要はありません。データ構造の最上部には、1 人の人物に関するすべての情報をグループ化する Contacts テーブルがあります。これは基本的に、すべてのアカウント情報を 1 つの連絡先に統合する方法です。この連絡先については、通常と同じように考えてください。
バックグラウンド スレッドでクエリを実行できる Loader クラスを確認する必要があります。Cursor の Loader コールバックを実装した後でこのクラスを使用すると、CursorLoader が作成されます。そのコンストラクター パラメーターの 1 つは、クエリの一部として含める制約を指定できる典型的な MySQL where 句です。
ここでは、データベースを照会するためのローダーのガイドを見つけることができます。