我正在嘗試製作聯繫人到組的多對多映射。獲取聯繫人的組?
例如,如果我有:
- 用戶1,屬於組701,702,704
- 用戶2,不屬於任何組
- 用戶3,屬於組702
我希望能得到一個關係,看起來像這樣:
userID | groupID
1 | 701
1 | 702
1 | 704
3 | 702
我試過這個:
Cursor cursor = contentResolver.query(ContactsContract.Data.CONTENT_URI, null, new String[] {
ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID,
ContactsContract.CommonDataKinds.GroupMembership.GROUP_SOURCE_ID
}, null, null, null);
但是這不起作用。 GROUP_SOURCE_ID列會返回不是任何組的ID的怪異數字。有時甚至會返回0或負數。
我可以通過遍歷每個組來構造一個映射,並找到該組中的所有聯繫人,但這需要很多查詢,而且我試圖保持快速(顯然,只有那些少數查詢很慢!)。
任何人都可以告訴我如何在一個查詢中獲得此聯繫人到組映射嗎?
謝謝!
,完美的工作!非常感謝! 那你是怎麼知道我需要DATA1的?有沒有可以告訴我解決方案的文檔?因爲我找了很久,並找不到任何... – Verdagon
@Verdagon通過檢查聯繫人數據庫 –
這是一個新手應該能夠做的事情嗎?如果沒有,你能告訴我怎麼樣,我可以寫一篇文章或其他東西? – Verdagon