Android: транзакции SQLite при использовании ContentResolver
Цель: обновить базу данных из данных XML
Процесс:
Начать транзакциюудалять все существующие строки из таблицЗа каждый основной элемент анализируемого XMLвставить строка в основной таблице и получить ПКЗа каждого потомка основного элементавставить запись во 2-ю таблицу с предоставлением ФК из предыдущего шагаСовершить транзакциюДовольно стандартный материал для операций с БД. Проблема в том, что операции CRUD не выполняются вContentProvider
а скорее используяContentResolver
так, например, вставка выглядитresolver.insert(CONTENT_URI, contentValues)
, У API ContentResolver, похоже, нет ничего, относящегося к транзакции, и я не могу использоватьbulkInsert
так как я вставляю в 2 таблицы с перерывами (плюс я хочу иметьdelete
внутри сделки).
Я думал о регистрации моего индивидуальногоContentProvider
в качестве слушателя с помощьюregisterContentObserver
но с тех порContentResolver#acquireProvider
методы скрыты, как мне получить правильную ссылку?
Мне не повезло?