Контакты, принадлежащие учетной записи, называются низкоуровневыми контактами. Каждый низкоуровневый контакт указывает на детальные сведения об одной персоне, известной в контексте данной учетной записи. Это отличает его от агрегированного контакта, который пересекает границы учетной записи и таким образом относится к устройству в целом.
Отношение между учетной записью и ее набором низкоуровневых контактов поддерживается в таблице raw_contacts.
Подобно большинству таблиц Android, raw_contacts имеет столбец _id, который уникальным образом идентифицирует низкоуровневый контакт. Поля account_name и account_type вместе идентифицируют учетную запись, которой принадлежит этот контакт (в частности — низкоуровневый контакт). Недорогие http://www.dnt-verhovskiy.ru/pokupatelyam/stoimost-zemelnih-uchastkov-i-taunhausov/. Поле sourceid показывает, как этот низкоуровневый контакт уникально идентифицирован в учетной записи, заданной полями account_name и account_type. Например, предположим, что необходимо посмотреть, каким образом идентификатор низкоуровневого контакта отражен в учетной записи электронной почты Google. Обычно в таком случае это поле будет содержать идентификатор электронной почты пользователя.
Поле contact_id ссылается на агрегированный контакт, в котором находится данный низкоуровневый контакт. Агрегированный контакт указывает на один или более похожих контактов, относящихся к той же самой персоне в нескольких учетных записях.
Поле display_name указывает отображаемое имя контакта. Как правило, это поле предназначено только для чтения. Оно устанавливается триггерами на основе строк данных, добавляемых в таблицу (это рассматривается далее) для этого низкоуровневого контакта.
Поля sync используются учетными записями для синхронизации контактов между устройством и учетной записью серверной стороны, такой как почта Google.
Хотя для просмотра этих полей мы пользуемся инструментами SQLite, существуют и другие способы делать это. Рекомендуемый прием предусматривает просмотр определений классов в API-интерфейсе ContactsContract. Для просмотра столбцов, относящихся к низкоуровневому контакту, необходимо заглянуть в документацию по классу ContactsContract.RawContact. Этому подходу присущи как преимущества, так и недостатки. Существенное преимущество состоит в том, что вы получаете представление об опубликованных полях Android SDK. В базу данных могут добавляться либо удаляться столбцы без изменения общедоступного интерфейса. Это значит, что в случае использования столбцов базы данных напрямую, их может и не оказаться на месте.
С другой стороны, если применяются общедоступные определения столбцов, переход на новые выпуски будет безопасным.
Недостаток подхода в том, что в документации по классу имена столбцов смешаны с множеством других констант, в это затрудняет выяснение, что чем является. Из-за этих многочисленных определений классов создается впечатление, что API-интерфейс является сложным, тогда как на самом деле % документации по классам API-интерфейса контактов посвящено определению констант для этих столбцов и URI для доступа к этим строкам.
При практическом использовании API-интерфейса в последующих разделах мы будем работать с константами из документации по классам, а не напрямую с именами столбцов. Тем не менее, ознакомление непосредственно с таблицами представляет собой кратчайший путь к четкому пониманию API-интерфейса контактов.
Теперь давайте посмотрим, каким образом хранятся данные, относящиеся к контакту, такие как адрес электронной почты и телефонный номер.
Опубликовал katy
February 19 2015 18:26:21 ·
0 Комментариев ·
3454 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.