Обеспечение контрактов MIME-типов
Поставщик контента BookProvider должен также реализовать метод getType() , возвращающий MIME-тип для заданного URI. Этот метод, как и многие другие методы поставщика контента, перегружается в зависимости от входящих URI. Поэтому первой заботой метода getType() является выяснение типа URI — это коллекция книг или одиночная книга?
Как уже было сказано в предыдущем разделе, для дешифрации этого типа URI используется класс UriMatcher. В зависимости от этого URI, класс BookTableMetaData определяет константы, возвращаемые для каждого URI. Реализация этого метода показана в листинге 4.6.
Реализация метода query
Метод query в поставщике контента отвечает за возврат коллекции строк в зависимости от входящего URI и конструкции where.
Как и другие методы, метод query использует класс UriMatcher для идентификации типа URI. Если это URI одиночного элемента, то метод выбирает из него идентификатор книги.
- Вначале извлекаются сегменты пути с помощью метода getPathSegments() .
- Берется первый сегмент пути — это и есть идентификатор книги.
Затем метод query использует отображения, созданные в начале листинге 4.6, для определения возвращаемых столбцов. В конце query возвращает курсор вызвавшему методу. Во время этого процесса метод query использует объект SQLiteQueryBuilder, чтобы сформировать и выполнить запрос.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.