Пытаюсь в андроиде сохранить картинки в блобы (через byte[]). Сохраняются, вроде бы, хорошо. Просмотр базы SQLite Manager-ом в мозилле показывает, что данные есть. Потом достаю эти блобы из базы через cursor.getBlob(columnIndex) — получаю всегда null. culumnIndex, вроде, правильный. С другими полями в том же запросе проблем нет, но они числа.
В принципе, я знаю, что многие советуют хранить картинки не в блобах (в частности, из-за недокументированного ограничения размера курсора в 1М), а в отдельных файлах. Но картинки маленькие (не больше пары килобайт) и их много (пока пара тысяч, но будет больше). Представляю, какой будет оверхед на файлах.
Так что вопрос: почему вместо блобов достаются пустышки?
На всякий случай проверил такую версию: в документации сказано, что разные имплементации в случае, когда запрошенное поле не является блобом, могут либо кидать exception, либо возвращать ноль. У меня при неправильном запросе кидается exception. То есть, курсор понимает, что в запросе по этому индексу получился именно блоб, но читать его не хочет.