如何在contentResolver.query()

时间:2017-06-09 14:53:09

标签: android sqlite

我必须从Android设备的ContactsContract表中选择一些联系人,检查联系人的LOOKUP_KEY值。

我必须执行单个查询,并向其传递许多LOOKUP值。 到目前为止,我做了类似于你看到的代码的东西,当然这是不对的:

Cursor cursor = contentResolver.query(
                                      ContactsContract.Contacts.CONTENT_URI, 
                                      null, 
                                      ContactsContract.Contacts.LOOKUP_KEY + " =?", 
                                      new String[] {"f2hsk", "djkf7fk", "hf74fnk2"}, 
                                      null);

我还尝试使用ContactsContract.Contacts.LOOKUP_KEY +“IN?”但是我得到了一个synthax错误。

我希望清楚我必须实现的目标。

提前谢谢

1 个答案:

答案 0 :(得分:1)

每个问号都将替换为selectionArgs数组中的相应参数值。

Cursor cursor = contentResolver.query(
                                      ContactsContract.Contacts.CONTENT_URI, 
                                      null, 
                                      ContactsContract.Contacts.LOOKUP_KEY + "=? or " + ContactsContract.Contacts.LOOKUP_KEY + "=? or " + ContactsContract.Contacts.LOOKUP_KEY + "=?", 
                                      new String[] {"f2hsk", "djkf7fk", "hf74fnk2"}, 
                                      null);