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

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

Метод insert в поставщике контента отвечает за вставку записи в базу данных и возвращает URI, который указывает на только что созданную запись.

Как и в других методах, в методе insert для выяснения типа URI используется класс UriMatcher. Код сначала проверяет, нет ли в URI ошибок, и если есть, генерируется исключение.

Затем выполняется проверка необязательных и обязательных параметров столбцов. При отсутствии значений в некоторых столбцах код может подставить значения по умолчанию.

После этого используется объект SQLiteDatabase для вставки новой записи и возврата идентификатора вставленной записи. В завершение код создает новый URI на основе полученного из базы данных идентификатора.

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

Метод update в поставщике контента отвечает за обновление записи (или записей) на основе переданных значений столбцов и конструкции where. После обновления метод возвращает количество измененных строк.

Как и другие методы, метод update для идентификации типа URI использует класс UriMatcher. Если типом URI является коллекция, то передается конструкция where, чтобы она могла охватить максимальное количество записей. Если тип URI — одиночная запись, то из URI извлекается идентификатор книги и оформляется в виде дополнительной конструкции where. По завершении код возвращает количество обновленных записей (см. листинг 4.6).

Обратите внимание, что метод notifyChange позволяет сообщить об изменении URI. В принципе, то же можно сделать и с методом insert, сказав, что после вставки записи изменился элемент …/books.

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

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

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