Не удается получить контактную информацию в Android за исключением - PullRequest
0 голосов
/ 28 сентября 2011

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 голосов
/ 28 сентября 2011

Или я просто делаю это неправильно?

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...