Android: SQLite-Transaktionen bei Verwendung von ContentResolver
Das Ziel: Datenbank aus XML-Daten aktualisieren
Der Prozess:
Starten Sie die TransaktionLöschen alle vorhandenen Zeilen aus den TabellenFür jedes Hauptelement von geparstem XMLeinfügen rudere in den Haupttisch und hole PKPro Kind des Hauptelementseinfügen Aufnahme in die 2. Tabelle mit FK aus dem vorherigen SchrittTransaktion festschreibenZiemlich normales Zeug, was DB-Operationen angeht. Das Problem ist, dass CRUD-Operationen nicht innerhalb von ausgeführt werdenContentProvider
sondern mitContentResolver
so sieht der einsatz zum beispiel ausresolver.insert(CONTENT_URI, contentValues)
. Die ContentResolver-API scheint nichts mit Transaktionen zu tun zu haben, und ich kann sie nicht verwendenbulkInsert
da ich in 2 tabellen intermittierend einfüge (dazu möchte ich nochdelete
auch innerhalb der Transaktion).
Ich dachte daran, meine angepassten zu registrierenContentProvider
als Zuhörer mitregisterContentObserver
aber seitContentResolver#acquireProvider
Methoden sind versteckt Wie erhalte ich die richtige Referenz?
Habe ich kein glück