すべての Android 連絡先から情報を取得する必要があります。
- ファーストネーム
- 苗字
- 携帯電話
- 生年月日
連絡先に 2 つ以上の携帯電話番号がある場合は、選択範囲に複数回収まる必要があります。
現在ContentResolver.Query()
、必要な列を取得するために使用していますが、テーブルを結合するのではなく、複数回のクエリが必要です。
Android の連絡先から複数のデータ フィールドを照会するにはどうすればよいですか?
つまり、SQLクエリのようなものを実行する必要があります:
SELECT
dName.Data2 as [firstName]
, dName.Data3 as [lastName]
, dPhone.Data1 as [cellPhone]
FROM
raw_contacts
INNER JOIN data as dName on dName.RAW_CONTACT_ID = Contacts._ID and dName.MIME_TYPE = ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE
INNER JOIN data as dPhone on dName.RAW_CONTACT_ID = Contacts._ID and dName.MIME_TYPE = ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE