penexe
@penexe

RecycleView endless и swipe to refresh с точки зрения базы данных и удаленного api?

Я новичок в android разработке, помогите понять как должен работать алгоритм при подгрузке данных с api и хранением последних данных в бд.
Пишу приложение - новостная лента для своего сайта. Схема работы должна быть такая как в VK.
Каша в голове не проходит.

1) Допустим приложение уже однажды запускалось и получило список последних 10 новостей.

2) При повторном заходе (после убийства активити) надо догрузить новые новости и добавить к старым.
Я правильно понимаю что в данном случае надо выполнять запрос к api с условием where timestamp > last_insert_timestamp?
Тут может оказаться что данных будет очень много допустим за месяц простоя, то я в api могу вернуть ответ too much news, а в приложении очищаю таблицу в бд, и забираю из api только последние 10 новостей. Верно мыслю?

3) Спустя некоторое время (приложение запущено), я делаю с swipe to refresh. Я так понимаю надо делать также как в во 2м пункте.

4) Теперь допустим мы вышли из приложения. И снова зашли. Новых новостей не было в api.
Сколько новостей дожно загрузится в RecycleView из бд? все что были загружены ранее? или только 10, а дальше догружать по мере скролла?
При каких событиях надо будет чистить таблицу в бд? ведь так она может разростить до 1000 новостей, а надо допустим 30 максимум?

5) При скролле условие догрузки должно быть where timestamp < last_viewed_timestamp те последнее показанное на экране и если такие данные есть в бд то показать сначала их, и при след скролле уже брать из api?

6) Верно ли что всегда для сущностей, которые в данный момент показаны в разных частях приложения, должны существовать данные в бд, если таковые были?
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 1
@aol-nnov
я бы с юзабилити начал.
для свайп ту рефреша надо сначала докрутить до начала списка. как ты это собираешься делать при бесконечной прокрутке?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы