Кэширование картинок с сервера в памяти приложения

110
16 августа 2019, 01:10

Можно ли реализовать такую схему? Человек впервые заходит в приложение, переходит на фрагмент с recycler view и в этом момент картинки загружаются с сервера, но после этого они должны остаться в памяти приложения и быть доступными даже без интернета до тех пор, пока они не будут заменены на сервере (актуальность проверяется во время подключения с интернетом) и новые картинки не будут загружены.Кто пытался уже сделать нечто подобное? Как их сохранить в кэше приложения?

Answer 1

Для этого как минимум есть две библиотеки Picasso и Glide

Вы можете дополнительно указать изображение или спиннер пока картинка грузится. Так же показывать дефолтную картинку, если изображение не было загружено. Принцип такой, появляется интернет, если картинки нету, то он начнет загружать. При следующем запуске, он берет из кэша.

Пример работы Picasso

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

Пример работы Glide

 Glide.with(fragment)
    .load(url)
    .into(imageView);

Чем они отличаются, есть несколько интересных статей. Например Glide vs Picasso

Answer 2

Если кому то интересно я ответил по этой тему в этом вопросе:

Как показать ProgressBar во время загрузки данных для recycler-view?

READ ALSO
Как построить график любой функции с помощью библиотеки JFreeChart?

Как построить график любой функции с помощью библиотеки JFreeChart?

Делаю проект по биоритмамНужно написать код для графика функции

112
Как отобразить график без точек javafx

Как отобразить график без точек javafx

Как нарисовать график, используя linechart, единой линией без точекЯ пробовал данный метод

119
Оптимизация приложения под планшеты

Оптимизация приложения под планшеты

Создал и загрузил приложение в маркетЧерез несколько часов после публикации пришло уведомление что оно не оптимизировано для планшетов

108
Как обратиться к объекту класса из другого класса?

Как обратиться к объекту класса из другого класса?

Стоит задача создать игру: есть поле 100х100, на котором рандомно появляются 2 мыши и начинают бежать по диагоналиТакже на поле появляются 18 кустов

121