2013-05-17 140 views
0

我需要在我的應用程序中將手機聯繫人分成組,但僅限於我的應用程序,因此我不想將任何組添加到原始手機聯繫人數據庫。我已將自己的數據庫設置爲擁有我的羣組表格:Android應用程序聯繫人組

groups(group_id int, group_name text, message text) 

and contacts_group table。

contacts_group(contact_id, group_id) 

現在我面臨的問題:我應該如何創建查詢到從我的組(電話聯繫DATABSE)的所有聯繫人。

我需要這樣的:Select ... DISPLAY_NAME,... NUMBER其中..._ID(String [] ids),而String [] ids是來自contacts_group表的contact_id數組。是否有可能把我的字符串數組'?'在原始查詢? As .. Select ... where .._ ID in?,string []? 感謝您的幫助 Regards

回答

0

Probelm解決了。解決方案:

public static Cursor getContactsFromGroup(String[] ids, SQLiteDatabase db) { 
     Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; 
     String[] projection = { ContactsContract.CommonDataKinds.Phone._ID, 
       ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, 
       ContactsContract.CommonDataKinds.Phone.NUMBER }; 

     Cursor c = context.getContentResolver().query(uri, projection, 
       "_ID IN (" + makePlaceHolders(ids.length) + ")", ids, null); 


    } 

其中makePlacHoldes(int)將「?」字符,多達long是param數組。 Regards

相關問題