Я хранил куски двоичных данных (protobufs) в базе данных sqlite приложения для Android, не понимая, что Android Cursor
может содержать максимум 1 МБ данных. Теперь я знаю, что я должен был хранить эти двоичные капли в файлах и ссылался только на файлы в записях базы данных sqlite.
Мне нужно обновить базу данных (приложение использовалось некоторое время), чтобы переместить эти двоичные фрагменты в файлы. Проблема заключается в том, что некоторые пользовательские данные могут уже превышать ограничение 1 МБ, и я не могу получить его из базы данных (доступ к результирующему Cursor
для одной строки, содержащей большой blob, вызывает IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize before accessing data from it
).
Как получить бинарные капли, превышающие предел 1 МБ Cursor
, которые были сохранены в базе данных sqlite?