Model-View-Intent и индикатор загрузки/обновления
Добрый день! Многие Android-приложения загружают данные с сервера и в это время показывают индикатор загрузки, а после этого позволяют обновить данные. В приложении может быть с десяток экранов, практически на каждом из них нужно:
- при переходе на экран показывать индикатор загрузки (
ProgressBar) в то время, как данные грузятся с сервера; - в случае ошибки загрузки показать сообщение об ошибке и кнопку "Повторить загрузку";
- в случае успешной загрузки дать пользователю возможность обновлять данные (
SwipeRefreshLayout); - если при обновлении данных произошла ошибка, показать соответствующее сообщение (
Snackbar).
При разработке приложений я использую архитектуру MVI (Model-View-Intent) в реализации Mosby, подробнее о которой можно почитать на Хабре или найти оригинальную статью о MVI на сайте разработчика mosby. В этой статье я собираюсь рассказать о создании базовых классов, которые позволили бы отделить описанную выше логику загрузки/обновления от остальных действий с данными.











