Android-Universal-Image-Loader README

The project's README from github.com/nostra13/Android-Universal-Image-Loader. As one markdown file: README.md.

Logo Universal Image Loader Build Status Maven Central

The great ancestor of modern image-loading libraries :)
UIL aims to provide a powerful, flexible and highly customizable instrument for image loading, caching and displaying. It provides a lot of configuration options and good control over the image loading and caching process.

Screenshot

Project News

Features

Android 4.1+ support

Downloads

Documentation

Usage

Dependency

implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

Acceptable URIs examples

"http://site.com/image.png" // from Web
"file:///mnt/sdcard/image.png" // from SD card
"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail)
"content://media/external/images/media/13" // from content provider
"content://media/external/video/media/13" // from content provider (video thumbnail)
"assets://image.png" // from assets
"drawable://" + R.drawable.img // from drawables (non-9patch images)

NOTE: Use drawable:// only if you really need it! Always consider the native way to load drawables - ImageView.setImageResource(...) instead of using of ImageLoader.

Simple

ImageLoader imageLoader = ImageLoader.getInstance(); // Get singleton instance
// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view 
//	which implements ImageAware interface)
imageLoader.displayImage(imageUri, imageView);
// Load image, decode it to Bitmap and return Bitmap to callback
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
	@Override
	public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
		// Do whatever you want with Bitmap
	}
});
// Load image, decode it to Bitmap and return Bitmap synchronously
Bitmap bmp = imageLoader.loadImageSync(imageUri);

Complete

// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view 
//	which implements ImageAware interface)
imageLoader.displayImage(imageUri, imageView, options, new ImageLoadingListener() {
	@Override
	public void onLoadingStarted(String imageUri, View view) {
		...
	}
	@Override
	public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
		...
	}
	@Override
	public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
		...
	}
	@Override
	public void onLoadingCancelled(String imageUri, View view) {
		...
	}
}, new ImageLoadingProgressListener() {
	@Override
	public void onProgressUpdate(String imageUri, View view, int current, int total) {
		...
	}
});
// Load image, decode it to Bitmap and return Bitmap to callback
ImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this size
imageLoader.loadImage(imageUri, targetSize, options, new SimpleImageLoadingListener() {
	@Override
	public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
		// Do whatever you want with Bitmap
	}
});
// Load image, decode it to Bitmap and return Bitmap synchronously
ImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this size
Bitmap bmp = imageLoader.loadImageSync(imageUri, targetSize, options);

Load & Display Task Flow

Task Flow

Applications using Universal Image Loader

MediaHouse, UPnP/DLNA Browser | Prezzi Benzina (AndroidFuel) | ROM Toolbox Lite, Pro | Stadium Astro | Chef Astro | Sporee - Live Soccer Scores | EyeEm - Photo Filter Camera | Topface - meeting is easy | reddit is fun | Diaro - personal diary | Meetup | Vingle - Magazines by Fans | Anime Music Radio | WidgetLocker Theme Viewer | ShortBlogger for Tumblr | SnapDish Food Camera | Twitch | TVShow Time, TV show guide | Planning Center Services | Lapse It | My Cloud Player for SoundCloud | SoundTracking | LoopLR Social Video | Hír24 | Immobilien Scout24 | Lieferheld - Pizza Pasta Sushi | Loocator: free sex datings | 벨팡-개편 이벤트,컬러링,벨소리,무료,최신가요,링투유 | Streambels AirPlay/DLNA Player | Ship Mate - All Cruise Lines | Disk & Storage Analyzer | 糗事百科 | Balance BY | Anti Theft Alarm - Security | XiiaLive™ - Internet Radio | Bandsintown Concerts | Save As Web Archive | MCPE STORE -Download MCPE file | All-In-One Toolbox (29 Tools) | Zaim | Calculator Plus Free | Truedialer by Truecaller | DoggCatcher Podcast Player | PingTools Network Utilities | The Traveler | minube: travel photo album | Wear Store for Wear Apps | Cast Store for Chromecast Apps | WebMoney Keeper

Donation

You can support the project and thank the author for his hard work :)

Alternative libraries

Android-Universal-Image-Loader (nostra13/Android-Universal-Image-Loader)

Searching Database…

Что это такое?Universal Image Loader (UIL) — это Java-библиотека для Android, которая загружает, кэширует и показывает изображения. У неё много настроек и тонкий контроль над процессом загрузки и кэширования.
Это приложение, которое я устанавливаю, или библиотека для моего кода?Это библиотека, а не отдельное приложение: вы добавляете её в свой Android-проект как зависимость или одним .jar-файлом и вызываете из кода, когда какому-то ImageView нужна картинка.
Как добавить её в свой проект?Добавьте её как зависимость Gradle или Maven (см. раздел Usage в README) или подложите файл universal-image-loader-1.9.5.jar. В документации есть руководство Quick Setup и пример проекта, показывающий, как правильно её использовать.
Заработает ли она на моей версии Android?Она поддерживает Android 4.1 и новее — это единственное требование, о котором упоминает README; других предварительных условий, кроме добавления самой библиотеки, нет.
Библиотека ещё поддерживается?Нет. Автор прекратил её поддержку в ноябре 2015 года, а сам README называет в качестве альтернатив библиотеки Fresco, Glide, Picasso и Volley — для новых проектов лучше начинать с них.
Насколько сильно я могу настраивать загрузку изображений?Очень сильно: можно настроить пулы потоков (thread executors), загрузчик и декодер, кэши в памяти и на диске, а также параметры показа для каждого вызова — картинки-заглушки, переключатели кэширования, параметры декодирования и обработку Bitmap.
Могу ли я отслеживать прогресс загрузки изображения?Да. Можно слушать весь процесс загрузки, включая прогресс скачивания — это удобно для больших картинок на медленном соединении.
Из каких источников можно загружать изображения?В README приведены примеры допустимых URI, включая drawable://. Автор советует использовать drawable:// только когда он действительно нужен — для drawables лучше подходит штатный ImageView.setImageResource(...).
Библиотека проверена в реальных приложениях?Да — в README перечислены десятки приложений, созданных с её помощью, среди них Twitch, reddit is fun, ROM Toolbox, EyeEm и TVShow Time.
Creator
nostra13
Size
26.5 MB
Stars
16.8K
Updated
CommitMay 17
Age
14y
Commits · 90 Days