Загрузка изображений в Android является одной из самых важных и часто встречающихся проблем/задач. Glide также как и Picasso может загружать и отображать изображения из многих источников, а также заботится о кешировании и использование небольшого количества памяти при выполнении манипуляций с изображением. Он был использован официальном приложении Google (например, приложение для Google I/O 2015) и так же популярен, как и Picasso. В этой серии уроков мы будем исследуем различия и преимущества Glide над Picasso.
- Glide — начало работы
- Glide — источники для загрузки
- Glide — ListAdapter (ListView, GridView)
- Glide — заглушки & Анимации затухания
- Glide — изменение размера изображения & Масштабирование
- Glide — отображения Gif & видео
- Glide — основы кеширования
- Glide — Приоритет загрузки
- Glide — миниатюры
- Glide — исключения: дебаг и отлов ошибок
- Glide — пользовательские преобразования
- Glide — пользовательские анимации с animate()
- Glide — модули Glide
- Glide — настройка кеширования
- Glide — поворот изображения
Почему я должен использовать Glide?
Опытные Android-разработчики могут пропустить этот раздел, но для начала: вы могли бы спросить себя, почему вы хотите использовать Glide* вместо вашей собственной реализации.
Используя Glide, вы сэкономите себе массу времени и избежите головной боли. Например вам не нужно думать о таких вещах как кешировании изображений, их трансформации и т. д. Также вы сможете избежать ошибок, т. к. библиотека Glide уже протестирована и ошибки исправлены.
* = или другие библиотеки для загрузки изображений, такие как Picasso, ION, etc.
Добавление Glide в проект
Надеюсь, что теперь мы убедили вас использовать библиотеку для для загрузки ваших изображений. Если вы хотите использовать Glide, то это руководство для вас!
В первую очередь добавьте Glide в ваши зависимости. На момент написания статьи последняя версия Glide 3.7.0.
Gradle
Как и большинство зависимостей в Gradle-проект, добавиви одну строчку вbuild.gradle
:
compile 'com.github.bumptech.glide:glide:3.7.0'
Maven
Glide также поддерживает Maven-проекты:
<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>glide</artifactId> <version>3.7.0</version> <type>aar</type> </dependency>
Первый взгляд: Загрузка изображения по URL
Подобно Picasso, библиотека Glide использует fluent interface. Билдер запросов Glide требует как минимум три параметра:
with(Context context)
— сюда просто передаем Context.load(String imageUrl)
— здесь необходимо указать, какое изображение должно быть загружено . В основном это будет строка, представляющая из себя URL-адрес картинки.into(ImageView targetImageView)
— здесь указываем ImageView, в котором должна отобразиться картинка.
Теоретические объяснения всегда труднее понять, так что давайте посмотрим на практический пример:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView); String internetUrl = "http://i.imgur.com/aBpXLHy.jpg"; Glide .with(context) .load(internetUrl) .into(targetImageView);
Вот оно! Если изображение по URL-адресу существует и ваш ImageView является видимым, вы увидите изображения за несколько секунд. В случае, если изображения не существует, Glide вернет ошибку, которые мы рассмотрим позже.
В продолжении
В следующей статье, мы посмотрим на другие варианты загрузки изображений, помимо URL. В частности, мы загрузим изображение из ресурсов Android, локального файла и URI.
Источник: Glide — Getting Started