Как заставить SQLDelight использовать sqlite3 напрямую через JNI на Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как заставить SQLDelight использовать sqlite3 напрямую через JNI на Android?

Сообщение Anonymous »

У нас есть база данных с большими двоичными объектами (изображениями) размером ~3,5 МБ, которую мы не можем прочитать в версиях Android ниже 9 (API 28), поскольку мы не можем установить больший размер пользовательского окна курсора (см. https://github.com/cashapp/ sqldelight/pull/4804).
Для Android SQLDelight имеет класс AndroidSqliteDriver, который использует Cursor под капотом с ограничениями размера окна, тогда как для собственные запросы sqlite3.
Как заставить SQLDelight использовать API sqlite3 напрямую через мою специальную оболочку JNI? Должен ли я написать собственный класс драйвера? Если да, то как я могу это сделать? Я думал написать свой собственный драйвер на основе AndroidSqliteDriver, просто заменив вызовы Cursor вызовами JNI, но, к сожалению, я не знаю, как это правильно сделать, можете ли вы привести пример такой реализации?
Обсуждение SQLDelight https://github.com/cashapp/sqldelight/discussions/5250

Подробнее здесь: https://stackoverflow.com/questions/784 ... on-android

Вернуться в «Android»