Android
Реализация метода delete
Метод delete в поставщике контента отвечает за удаление записи (или записей) на основе переданной конструкции where. Он возвращает количество удаленных строк.
Как и другие методы, метод update для выяснения типа URI использует класс UriMatcher. Если это коллекция, то передается конструкция… Читать далее
Реализация метода insert
Метод insert в поставщике контента отвечает за вставку записи в базу данных и возвращает URI, который указывает на только что созданную запись.
Как и в других методах, в методе insert для выяснения типа URI используется класс UriMatcher. Код сначала проверяет,… Читать далее
Обеспечение контрактов 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
Предположим, что требуется выбрать заметку с… Читать далее