Главная » Разработка для Android » КОММУНИКАЦИЯ, ЛИЧНЫЕ ДАННЫЕ, СИНХРОНИЗАЦИЯ И СОЦИАЛЬНЫЕ СЕТИ в Android приложении

0

 

Одним из основных типов данных, которые сохраняются и используются в Android (причем многократно), является контактная информация. Это различные информационные фрагменты, связанные с контактом, – имя, телефонный номер, адрес электронной почты и т. д. В Android 2.0 (API уровня 5) концепция контактной информации была существенно расширена (появилась возможность доступа к нескольким учетным записям и поддержка агрегации похожих контактов). Мы рассмотрели вопросы использования поставщиков содержимого и классов базы данных в Android, поэтому здесь мы не будем возвращаться к этому подготовительному материалу. Мы подробно поговорим о поставщике содержимого ContactsContract.

КОНТАКТЫ УЧЕТНОЙ ЗАПИСИ

Для доступа к контактам учетной записи в файле описания следует прописать такие права доступа:

Внутри активности можно использовать метод managedQuery для запроса данных ContactsContract. Contacts и получения курсора для последующей работы:

Подробная информация о столбцах и константах, имеющихся в классе ContactsContract. Contacts, приводится в документации для разработчиков по адресу http://developer.androidxom/reference/android/provider/ContartsContrad

Имея курсор, мы можем загрузить его внутри Simpl eCursorAdapter и обеспечить отображение конкретных полей с данными, необходимых нам. В этом случае речь идет об отображаемом имени контакта:

Вот макет, в котором содержится Li stView (ссылка на него – R. іd. contactlіst):

Вот макет для контактной информации (ссылка на него – R.layout.contact), используемый с SimpleCursorAdapter:

Здесь мы удаляем контакт, сообщая курсор и позицию в курсоре, которую требуется удалить:

Чтобы добавить контакт в этот пример, мы создаем коллекцию операций ContentProviderOperation и пакетно применяем их. Обратите внимание: сначала мы вставляем новый контакт, а потом добавляем телефонные номера, если они нам доступны (в данном случае такая информация у нас есть). Для осуществления вставки мы создаем операцию ContentProviderOperation отдельно для каждой вставки. При этом создается ContentProviderOperation.Builder с методом Simpl eCursorContentProviderOperation. newlnsert(), а потом выполняется построение при помощи метода build():

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии