Rufen Sie einen großen Blob aus der Android SQLite-Datenbank ab

Ich habe Teile von Binärdaten (Protobufs) in der SQLite-Datenbank einer Android-App gespeichert, ohne zu bemerken, dass dies bei Android der Fall istCursor kann nur maximal 1 MB Daten speichern. Ich weiß jetzt, dass ich diese binären Blobs in Dateien hätte speichern und nur auf die Dateien in den SQLite-Datenbankeinträgen verweisen sollen.

Ich muss die Datenbank aktualisieren (die App wird seit einiger Zeit verwendet), um diese Binärblöcke in Dateien zu verschieben. Das Problem ist, dass die Daten einiger Benutzer möglicherweise bereits die 1-MB-Grenze überschritten haben und ich sie nicht aus der Datenbank abrufen kann (Zugriff auf die resultierenden Daten)Cursor für eine einzelne Zeile, die einen großen Blob enthält, wirft einIllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize before accessing data from it).

Wie rufe ich die binären Blobs ab, die größer als 1 MB sind?Cursor Limit, das in der SQLite-Datenbank gespeichert wurden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage