Как заставить 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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