Android
Обеспечение контрактов MIME-типов
Поставщик контента BookProvider должен также реализовать метод getType() , возвращающий MIME-тип для заданного URI. Этот метод, как и многие другие методы поставщика контента, перегружается в зависимости от входящих URI. Поэтому первой заботой метода getType() является выяснение типа URI — это… Читать далее
Расширение класса Contentprovider
Для реализации нашего примера поставщика контента BookProvider необходимо расширить класс ContentProvider, переопределить метод onCreate() и реализовать методы query, insert, update, delete и getType. В этом разделе описаны настройка и создание базы данных, а конкретные методы будут реализованы ниже. Полный исходный… Читать далее
Реализация поставщиков контента
К этому моменту уже известно, как взаимодействовать с поставщиком контента для обработки данных, но пока еще не было показано, как написать поставщик контента. А для этого нужно расширить класс android.content.ContentProvider и реализовать следующие ключевые методы:
query
insert
update
delete
getType… Читать далее
Обновления и удаления
Ранее были подробно рассмотрены запросы и вставки; обновления и удаления также довольно прямолинейны. Выполнение обновления подобно вставке, при которой изменяемые значения столбцов передаются через объект ContentValues. Вот сигнатура метода обновления update в объекте ContentResolver:
int numberOfRowsUpdated = activity.getContentResolver().update(
Uri uri,… Читать далее
Добавление файла к поставщику контента
Иногда бывает нужно сохранить в базе данных целый файл. Обычно для этого файл сохраняется на диске, а в базе данных изменяется запись, которая указывает на соответствующее имя файла.
В Android этот протокол автоматизирован за счет определения специальной процедуры для сохранения… Читать далее
Вставка записей
До сих пор мы рассматривали только извлечение данных из поставщиков контента с помощью URI. А теперь взглянем на вставки, изменения и удаления.
На заметку! При объяснении поставщиков контента мы использовали примеры из приложения Notepad, которое в руководстве от Google предоставляется… Читать далее
Использование явных конструкций where
Теперь, когда вы уже знаете, как использовать URI для передачи конструкции where, рассмотрим другой метод, где Android позволяет передать список явных столбцов и соответствующих им значений в виде конструкции where. Для этого еще раз посмотрим на метод managedQuery из класса… Читать далее
Работа с конструкцией where
Имеется два способа передачи конструкции where поставщикам контента:
• через URI;
• через комбинацию конструкции where и набора заменяемых аргументов строкового массива.
Мы рассмотрим оба этих способа на примерах.
Передача конструкции where через URI
Предположим, что требуется выбрать заметку с… Читать далее
Использование курсора Android
Ниже перечислены некоторые факты, связанные с курсором Android.
• Курсор — это коллекция строк.
• Перед чтением любых данных необходимо вызвать метод moveToFirst() , который устанавливает курсор перед первой строкой.
• Необходимо знать имена столбцов.
• Необходимо знать типы столбцов.… Читать далее
Столбцы поставщека контента
На заметку! Поставщик контента должен указать поддерживаемые им столбцы, реализовав набор интерфейсов или перечислив имена столбцов в виде констант. Но класс или интерфейс, который определяет константы для столбцов, должен прояснить и типы столбцов (через соглашение об именовании, комментарии или документацию),… Читать далее