Главная » Разработка для Android » Использование Источника данных ContactsContract

0

Доступ к управлению контактами  понадобится,  когда речь идет об устройствах для связи. Разработчики Android пошли верным путем и предо- ставляют  всю информацию из базы данных контактов  для любого прило- жения, имеющего полномочие READ_CONTACTS.

В Android 2.0 (API  level 5) появился класс ContactsContract, заменив- ший Contacts, который раньше использовался для хранения и управления контактами  на устройстве.

Этот Источник данных включает  новые возможности по управлению контактами  в Android,  предоставляя базу данных со всей информацией, касающейся  контактов.  Все это позволяет  пользователям указывать  не- сколько  Источников своих контактных данных. Но более важно  то, что разработчики сами могут расширять информацию для каждого контакта или даже создавать альтернативные Источники для контактов и сопутству- ющих данных.

Знакомство с Источником данных ContactsContract

Источник данных ContactsContract — это расширяемая база данных, со- держащая всю информацию, связанную  с контактами.

Вместо использования одной строго определенной  таблицы с контакт- ной информацией ContactsContract  оперирует  трехуровневой моделью, отвечающей  за хранение  данных, связывание с контактом  и объединение их для конкретного человека, используя следующие подклассы.

Data.  В исходной  таблице  каждая  строка определяет  набор личных данных (например, телефонные номера, адреса электронной почты и т. д.), разделенных типом MIME.  Несмотря на предопределенный набор основных имен столбцов для каждого типа личных данных (до- ступных наряду  с соответствующими MIME-типами, хранящимися в ContactsContract.CommonDataKinds), эта таблица может использо- ваться для хранения  любого значения.

То, какие именно данные находятся в конкретной строке, определяется с помощью типа MIME, указанного для нее. Универсальные столбцы способны хранить до 15 различных секций с данными разного типа.

При добавлении новых данных в таблицу Data, нужно указать объект класса RawContacts для каждого связанного  набора данных.

RawContacts. Начиная с версии Android 2.0 пользователи могут вносить несколько  контактных учетных записей (например, Gmail, Facebook и т. д.). Каждая строка в таблице RawContacts определяет  учетную за- пись, с которой будут ассоциироваться данные из таблицы Data.

Contacts. Эта таблица объединяет все строки из RawContacts, которые относятся  к одному и тому же человеку.

На деле вы будете использовать таблицу Data для добавления, удаления или изменения данных, относящихся к существующим  учетным записям, RawContacts — для создания  и управления самими  учетными  записями, Contacts и Data — для получения доступа к базе данных и извлечения ин- формации о контактах.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

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