Как использовать пейджинг с SQLite? - PullRequest
0 голосов
/ 05 июля 2018

Я хочу интегрировать Paging с SQLite в существующее приложение. В моей базе данных содержится около 90 таблиц, поэтому преобразование в Room занимает много времени. Я также пробовал LIMIT...OFFSET, но каждый раз для обработки данных требуется время.

Спасибо.

1 Ответ

0 голосов
/ 17 июля 2018

Вы можете использовать limit и offset . И ваш запрос будет таким:

Пример:

A) У нас есть таблица с 4 записями столбца id, значения 1 | 2 | 3 | 4 в соответствующих 4 рядах.

B) Если выполнить select * from TABLE_NAME:, он вернул все записи из таблицы в порядке 1 | 2 | 3 | 4.

C) Если нам нужна общая (например, limit ) 1 запись, и она должна начинаться с offset index 2, тогда используйте

select * from TABLE_NAME limit 1 offset 2

Это вернет индекс записи | 3 | как предел запроса = 1 и индекс смещения = 2.

То же самое можно сделать, используя select * from company limit 2, 1;

Обратите внимание, здесь 2 - смещение, а 1 - предел (обратный порядок).

Поскольку Android SDK не предоставляет отдельный атрибут для установки смещения, в этом случае последний атрибут 'limit' SQLiteDatabase.query (..., limit) можно использовать как limit 2, 1.

...