Обеспечение контрактов MIME-типов

Обеспечение контрактов MIME-типов

Поставщик контента BookProvider должен также реализовать метод getType() , возвращающий MIME-тип для заданного URI. Этот метод, как и многие другие методы поставщика контента, перегружается в зависимости от входящих URI. Поэтому первой заботой метода getType() является выяснение типа URI — это коллекция книг или одиночная книга?

Как уже было сказано в предыдущем разделе, для дешифрации этого типа URI используется класс UriMatcher. В зависимости от этого URI, класс BookTableMetaData определяет константы, возвращаемые для каждого URI. Реализация этого метода показана в листинге 4.6.

Реализация метода query

Метод query в поставщике контента отвечает за возврат коллекции строк в зависимости от входящего URI и конструкции where.

Как и другие методы, метод query использует класс UriMatcher для идентификации типа URI. Если это URI одиночного элемента, то метод выбирает из него идентификатор книги.

  1. Вначале извлекаются сегменты пути с помощью метода getPathSegments() .
  2. Берется первый сегмент пути — это и есть идентификатор книги.

Затем метод query использует отображения, созданные в начале листинге 4.6, для определения возвращаемых столбцов. В конце query возвращает курсор вызвавшему методу. Во время этого процесса метод query использует объект SQLiteQueryBuilder, чтобы сформировать и выполнить запрос.

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий