0

我需要在我的应用程序中将电话联系人分组,但仅在我的应用程序中,所以我不想将任何组添加到原始电话联系人数据库中。我已经制作了自己的数据库来拥有我的组表:

groups(group_id int, group_name text, message text)

和contacts_group 表。

contacts_group(contact_id, group_id)

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

我需要这样的东西: Select ...DISPLAY_NAME, ...NUMBER where ..._ID in (String[] ids) 而 String[] ids 是来自contacts_group 表的contact_ids 数组。是否可以将我的字符串数组放入“?” 在原始查询中?As.. Select... where .._ID in ?, string[] ? 提前感谢您的帮助问候

4

1 回答 1

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(int) 在哪里放“?” 字符,只要是参数数组。问候

于 2013-06-03T08:22:51.780 回答