Recuperar gran blob de la base de datos sqlite de Android

Guardé trozos de datos binarios (protobufs) en la base de datos sqlite de una aplicación de Android sin darme cuenta de que AndroidCursor Solo puede contener un máximo de 1MB de datos. Ahora sé que debería haber almacenado estos blobs binarios en archivos y solo hacer referencia a los archivos en las entradas de la base de datos sqlite.

Necesito actualizar la base de datos (la aplicación ha estado en uso por un tiempo) para mover estos fragmentos binarios a archivos. El problema es que los datos de algunos usuarios ya han excedido el límite de 1 MB y no puedo recuperarlos de la base de datos (accediendo a laCursor para una sola fila que contiene un blob grande lanza unIllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize before accessing data from it).

¿Cómo recupero los blobs binarios que son mayores que los 1MB?Cursor límite que se han almacenado en la base de datos sqlite?

Respuestas a la pregunta(2)

Su respuesta a la pregunta