想象一下以下电话簿:
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?”,但没有得到结果。
提前致谢!
答案 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};
请查看