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

Java 如何在android中检索包含特定单词的联系人姓名?,java,android,sql,android-contacts,Java,Android,Sql,Android Contacts,想象一下下面的电话簿: A 123456 B与安卓 654321 C 112233 D与Android 778899 我想用Android检索containig的联系人。我们的想法是使用Android作为选择标准 我尝试了以下方法: String[] projection = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NU

想象一下下面的电话簿:

A

123456

B与安卓

654321

C

112233

D与Android

778899

我想用Android检索containig的联系人。我们的想法是使用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);  
我也尝试过使用=?而不是像?但是没有得到结果


提前谢谢

我也是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};

请检查它

try LIKE%with AndroidI尝试了它并得到一个错误:09-23 17:48:30.517:E/AndroidRuntime5654:FATAL EXCEPTION:main 09-23 17:48:30.517:E/AndroidRuntime5654:android.database.sqlite.SQLiteException:near:语法错误:,编译时:选择DISTINCT display\u name,数据1来自视图\u数据\u限制数据,其中1和mimetype\u id=5,并显示\u名称,好像我真的很困惑错误可能是什么。尝试在“LIKE”之后添加**?**我刚刚测试过,并且成功!!!不幸的是,我无法投票,因为我没有高于15的声誉,对不起: