在Android中检索联系信息失败,但有异常

时间:2011-09-27 21:05:26

标签: android sqlite

ALL, 我正在尝试执行以下代码:

ContentResolver cr = getContentResolver();
Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, "ContactsContract.Contacts.DISPLAY_NAME LIKE '" + name + "'", null, null );

然而,当运行此代码时,我收到了SQLite异常:“不知道这样的文件ContactsContract.Contacts.DISPLAY_NAME:,同时编译”.....“”。

问题在于我事先并不知道“名称”包含什么,因此使用“LIKE”条款。

有没有更好的方法来执行此类操作?或者我只是做错了?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

或者我只是做错了?

ContactsContract.Contacts.DISPLAY_NAME是一个Java构造。使用:

Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.DISPLAY_NAME + " LIKE '" + name + "'", null, null );

或者,使用位置参数:

Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.DISPLAY_NAME + " LIKE ?", args, null );

其中args是包含name

的单元素字符串数组