Я хочу загрузить все изображения с сервера и сохранить их в кеше. В большинстве случаев загруженные изображения напрямую привязаны к imageView (например, Picasso). Я хочу использовать те же функции в android, которые предоставляются SDWebImage («https://github.com/rs/SDWebImage»).Как реализовать асинхронную загрузку изображений с поддержкой кеша в android?
ответ
Shutterbug - хорошая библиотека для этой цели (https://github.com/applidium/Shutterbug). Я сам использовал это в нескольких приложениях, и он работает хорошо. Вы можете использовать Shutterbug FetchableImageView (который расширяет ImageView, и вы даете ему URL, а не растровый или идентификатор ресурса, и он отображает изображение после завершения загрузки), или вы можете использовать ShutterbugManager, который позволяет вам контролировать, что происходит после загрузки и кеширование. Все кэширование сделано для вас, это довольно удивительно :)
На README страницы GitHub есть хорошие инструкции о том, как использовать оба варианта, а также есть демонстрационный проект.
РЕДАКТИРОВАТЬ: Просто заметил ваш комментарий. Если вы не хотите привязываться к ImageView, вы можете использовать ShutterbugManager для загрузки изображения, а затем делать с ним все. Любые последующие вызовы методу загрузки будут извлекать изображение из кеша, а не повторять вызов HTTP снова.
public void downloadImage(Context context, String url) {
ShutterbugManager.getSharedImageManager(context).download(url, new ShutterbugManager.ShutterbugManagerListener() {
@Override
public void onImageSuccess(ShutterbugManager manager, Bitmap bitmap, String arg2) {
// Do what you like with the Bitmap here.
}
@Override
public void onImageFailure(ShutterbugManager arg0, String arg1) {
// Failure :(
}
});
}
- 1. Как реализовать асинхронную загрузку на странице ASP.NET?
- 2. Как настроить асинхронную загрузку изображений с использованием VIPER artechiture?
- 3. Как реализовать асинхронную очередь?
- 4. Как выполнить асинхронную загрузку текстового файла из URL-адреса, затем асинхронную загрузку изображений из URL-адреса в текстовом файле? (быстро)
- 5. Как удалить загрузку изображений продукта из кеша в magento?
- 6. Как реализовать загрузку изображений с помощью аутентификации в AFNetworking 2.0?
- 7. NSTableview обновляет асинхронную загрузку данных
- 8. Как реализовать загрузку больше recyclerview в android
- 9. Как реализовать функцию как асинхронную в nodejs
- 10. Поддержка изображений с поддержкой динамического содержимого Android
- 11. асинхронную загрузку звуковых ресурсов в viewDidLoad врезается
- 12. Как реализовать асинхронную работу в java
- 13. Как реализовать асинхронную запись в c/C++?
- 14. Как выполнить асинхронную загрузку компонента с помощью AsyncRoute в Webpack?
- 15. Как реализовать ожидающую загрузку на сервер android
- 16. Рефикс-подобная библиотека с поддержкой дискового кеша
- 17. Как реализовать асинхронную модель наблюдателя или события
- 18. Как реализовать графический ротатор изображений в Android?
- 19. Очистка кеша изображений Picasso
- 20. Как реализовать асинхронную/ожидающую версию метода System.IO.Directory.CreateDirectory?
- 21. Как изменить загрузку 4 изображений с url в android?
- 22. Должен ли я реализовать асинхронную параллельную или асинхронную задачу
- 23. Как реализовать в Android-слайдере изображений?
- 24. Android: стратегия кеша изображений и размер кеша памяти
- 25. Android WebView - загрузка изображений из кеша
- 26. Как ускорить загрузку изображений?
- 27. Как реализовать контейнер с поддержкой изменяемого итератора?
- 28. Как оптимизировать загрузку изображений
- 29. nginx предотвращает загрузку из кеша
- 30. Как я могу реализовать загрузку кучи изображений в моем приложении Android
Так вы что-то пробовали? Почему вы не можете использовать библиотеку Picasso? Проверьте это http://square.github.io/picasso/. Другой вариант может быть https://github.com/nostra13/Android-Universal-Image-Loader – Rohit5k2
Я хочу хранить все изображения в кеше, но не хотите, чтобы изображения напрямую связывались с изображением. Обе эти библиотеки устанавливают изображения непосредственно в изображение, поэтому они мне не полезны. –
Я думаю, вы можете изменить это поведение. Я не уверен. – Rohit5k2