如何检索包含android中特定单词的联系人姓名?

时间:2013-09-23 13:58:48

标签: java android sql android-contacts

想象一下以下电话簿:

A

123456

B with Android

654321

C

112233

D with Android

778899

我想检索联系人containsig“with Android”。我们的想法是使用“with Android”作为选择标准。

我尝试了以下内容:

String[] projection = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER};

String where = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?";
String selection = " with Android";
String[] selectionArgs = {selection};
Cursor myCursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
        projection, where, selectionArgs, null);  

我还尝试使用“=?”而不是“LIKE?”,但没有得到结果。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我也是android的新手,但我认为这可能对你有帮助

实际上,您尝试获取匹配字符串的查询字符串是错误的。 使用like时...如果要获取与某个文本匹配的某些字符串,则需要将查询字符串指定为: -

SELECT * FROM customers
WHERE 'Robert Bob Smith III, PhD.' LIKE '%mit%';

在android中,选择参数作为字符串数组传递

更改您的代码:

String where = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ";
String selection = "%with Android";
String[] selectionArgs = {selection};

请查看