• Как в Android открыть изображение в режиме просмотра как в Галерее при нажатии на миниатюру?

    @Wayloren
    Открыть новое активити с ViewPager, как вариант. Если нужна анимация, смотри в сторону Activity transition, если нет - просто запоминаешь позицию кликнутой фото и открываешь ViewPager на нужной вкладке методом mPager.setCurrentItem(НомерКартинки);
    Ответ написан
    Комментировать
  • Правильно ли каждый раз обращаться в API при открытий activity?

    @Wayloren
    Очевидный ответ - серебряной пули не существует, каждый случай надо рассматривать в отдельности. Например, если речь идет о торговле на бирже - любое кэширование более-менее длительное кэширование (больше нескольких секунд) не имеет смысла. Если это профиль какой-то системы - смело можно кэшировать. Сам кэш тоже надо подбирать исходя из задач и предпочтений. Кому SQLite чистый, кому ORM, где вообще через SharedPreferences можно сделать.

    В целом более-менее стандартная работа выглядит примерно так: открывается экран -> отображается сразу кэш + одновременно идет запрос в сеть -> кэш + экран обновляется из сети в положительном случае, либо уведомление что данные устаревшие в случае ошибки. Главное – сделать без крашей и сообщать пользователю, что данные старые, не вводя в заблуждение (в идеале указывать "Обновлено в " и точное время)

    Само приложение будет более приближенным к реал таиму, кроме данных пользователя все постоянно обновляются
    - исходя из этого можно предположить, что ко всему прочему нужно после запуска экрана по таймеру стучаться на сервер за новой инфой. Кэш в этом случае играет роль заглушки, чтобы не отображать пустой экран и может быть заменен красивой картинкой про "нет данных/связи"
    Ответ написан
    Комментировать
  • Можно ли загружать разные данные в recycler-view?

    @Wayloren
    Можно. Гугли в сторону адаптера, там есть переопределяемый метод
    public int getItemViewType(int position)
    в котором можно определить тип возвращаемого элемента. Для каждого типа надо описать свой ViewHolder и затем в onBindViewHolder(final ViewHolder holder, final int position) биндить нужный (как видишь и тип и биндинг завязан на позицию)
    Ответ написан
    3 комментария