Ограниченные записи, загруженные в Android (база данных Sqlite)

Я пытаюсь получить sms-сообщения из входящих сообщений, отправленных элементов и черновиков. Я хотел бы сделать разбиение на страницы для моего списка в списке, потому что очень важно, чтобы я записывал записи на страницах / кусках.

Я не знаком с sqlite, который является базой данных, которую я понимаю, использую андроид для хранения данных. Может ли кто-нибудь сказать мне, как я могу ограничить количество записей, которые я получаю, используя contentResolver.query?

Также как вытащить файл базы данных sqlite на мою машину и просмотреть / запросить его локально, чтобы экспериментировать или видеть данные на моей машине?

Есть ли еще какие-либо другие способы реализации разбивки на страницы в android?

благодаря

Кажется, что нет никакого способа ограничить ваши результаты от SmsProvider . Однако вам не стоит этого делать, учитывая, что вы используете CursorAdapter и не пытаетесь прочитать содержимое в своих собственных структурах данных. Вы пробовали это?

Согласно сайту Sqlite, вы можете использовать предложение LIMIT … OFFSET … в вашем запросе:

http://www.sqlite.org/syntaxdiagrams.html#select-stmt

Для тех, кто наткнулся на этот ответ, ища способ использовать предложение LIMIT с OFFSET , я узнал из этой ошибки, что Android использует следующее regex для синтаксического анализа предложения limit:

В framework / base / core / java / android / database / sqlite / SQLiteQueryBuilder.java:

Предложение LIMIT проверяется с помощью следующего параметра sLimitPattern.

 private static final Pattern sLimitPattern = Pattern.compile("\\s*\\d+\\s*(,\\s*\\d+\\s*)?"); 

Обратите внимание, что регулярное выражение принимает формат offsetNumber,limitNumber даже если он не принимает оператор OFFSET напрямую.

Чтобы вытащить свою базу данных для просмотра, сделайте ее копию на SD-карте, а затем используйте adp pull, чтобы получить ее.