1

想象一下下面的电话簿:

一个

123456

B 与安卓

654321

C

112233

D 与安卓

778899

我想检索包含“使用 Android”的联系人。我们的想法是使用“使用 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);  

我也尝试过使用“=?” 而不是“喜欢?” 但没有得到结果。

提前致谢!

4

1 回答 1

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};

请检查一下

于 2013-09-23T14:10:31.873 回答