Обновление списка с данными из сети, как в приложениях ВКонтакте, G+ etc

Рейтинг: 2Ответов: 2Опубликовано: 14.09.2014

Дано: есть новостное приложение, парсер сайта. Работа с обновлениями списка реализована с помощью библиотеки PullToRefresh.

Надо: хочу сделать, как в приложениях ВКонтакте, G+ etc. Т.е. загружать новые статьи, потянув вниз и увидев анимацию в ActionBare; загружать предыдущие автоматически, как только юзер дойдёт до конца списка. Ну и чтоб при поступлении новых данных из сервиса выкидывалась сверху кнопка "открыть 7 новых".

Вопрос: надо свой велосипед писать или есть готовые решения? Если есть, то есть ли официальные гугловые, типа как с Navigation Drawer-ом? И есть ли по всему этому какие-либо руководства\ примеры?

Спрашиваю тут, т.к. в своё время кучу времени потратил на гугленье того же Navigation Drawer-а, гугл мне вовсю выдавал устаревшие статьи по неофиц. библиотекам. Хотя бы направление, в котором копать, хотелось бы) Заранее всем спасибо!

Ответы

▲ 4Принят
  1. Для свайпа вниз и с анимацией в ActionBar есть уже стандартный андроидовский SwipeRefreshLayout.
  2. Подгрузка старых - GitHub - InfiniteListView, How to Implement an Infinitely Scrolling List in Android.
  3. Как и написал @Deadkenny сделать самому плашку, либо приспособить, к примеру, SuperToasts.
▲ 3

Библиотек нет, все вручную.

  • Подгрузка новостей при скроле. Нужно следить за положением скрола ListView, когда подходишь к концу списка - запускаешь подгрузку. Для примера можно посмотреть исходники google ioshed.
  • Подгрузка новостей с плашкой "открыть 7-мь новых"(кстати не пишут 7-мь, т.к. получается слово семьмь) - время от времени посылать запрос к API и если будут новые новости, то показывать плашку. Google+ API.

Для всего этого дела гугл использует свои Loaders. Достаточно удобно, хотя немного запутана логика, на мой взгляд. Для старых версий есть совместимость в Support library v7.