Android应用程序联系人组

时间:2013-05-17 17:03:22

标签: android database sqlite contact

我需要在我的应用程序中将手机通讯录分组,但仅限于我的应用程序,因此我不想将任何组添加到原始手机联系人数据库。我创建了自己的数据库以获得我的组表:

groups(group_id int, group_name text, message text)

和contacts_group表。

contacts_group(contact_id, group_id)

现在我面临的问题是:我应该如何创建查询以从我的组中获取所有联系人(来自电话联系数据库)。

我需要这样的内容:选择... DISPLAY_NAME,... NUMBER其中......(ID [] ids中的ID)而String [] ids是来自contacts_group表的contact_ids数组。是否可以将我的字符串数组放入'?'在原始查询? As ..选择...其中.._ ID在?,string []? 提前感谢您的帮助 此致

1 个答案:

答案 0 :(得分:0)

问题解决了。解决方案:

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(它)放“?” chars,多长时间是param数组。 此致