public class

ImageLoader

extends Object
java.lang.Object
   ↳ com.android.volley.toolbox.ImageLoader

Class Overview

Helper that handles loading and caching images from remote URLs. The simple way to use this class is to call get(String, ImageListener) and to pass in the default image listener provided by getImageListener(ImageView, int, int). Note that all function calls to this class must be made from the main thead, and all responses will be delivered to the main thread as well.

Summary

Nested Classes
interface ImageLoader.ImageCache Simple cache adapter interface. 
class ImageLoader.ImageContainer Container object for all of the data surrounding an image request. 
interface ImageLoader.ImageListener Interface for the response handlers on image requests. 
Public Constructors
ImageLoader(RequestQueue queue, ImageLoader.ImageCache imageCache)
Constructs a new ImageLoader.
Public Methods
ImageLoader.ImageContainer get(String requestUrl, ImageLoader.ImageListener imageListener, int maxWidth, int maxHeight, ImageView.ScaleType scaleType)
Issues a bitmap request with the given URL if that image is not available in the cache, and returns a bitmap container that contains all of the data relating to the request (as well as the default image if the requested image is not available).
ImageLoader.ImageContainer get(String requestUrl, ImageLoader.ImageListener imageListener, int maxWidth, int maxHeight)
Equivalent to calling get(String, ImageListener, int, int, ScaleType) with Scaletype == ScaleType.CENTER_INSIDE.
ImageLoader.ImageContainer get(String requestUrl, ImageLoader.ImageListener listener)
Returns an ImageContainer for the requested URL.
static ImageLoader.ImageListener getImageListener(ImageView view, int defaultImageResId, int errorImageResId)
The default implementation of ImageListener which handles basic functionality of showing a default image until the network response is received, at which point it will switch to either the actual image or the error image.
boolean isCached(String requestUrl, int maxWidth, int maxHeight)
Checks if the item is available in the cache.
boolean isCached(String requestUrl, int maxWidth, int maxHeight, ImageView.ScaleType scaleType)
Checks if the item is available in the cache.
void setBatchedResponseDelay(int newBatchedResponseDelayMs)
Sets the amount of time to wait after the first response arrives before delivering all responses.
Protected Methods
Request<Bitmap> makeImageRequest(String requestUrl, int maxWidth, int maxHeight, ImageView.ScaleType scaleType, String cacheKey)
void onGetImageError(String cacheKey, VolleyError error)
Handler for when an image failed to load.
void onGetImageSuccess(String cacheKey, Bitmap response)
Handler for when an image was successfully loaded.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ImageLoader (RequestQueue queue, ImageLoader.ImageCache imageCache)

Constructs a new ImageLoader.

Parameters
queue The RequestQueue to use for making image requests.
imageCache The cache to use as an L1 cache.

Public Methods

public ImageLoader.ImageContainer get (String requestUrl, ImageLoader.ImageListener imageListener, int maxWidth, int maxHeight, ImageView.ScaleType scaleType)

Issues a bitmap request with the given URL if that image is not available in the cache, and returns a bitmap container that contains all of the data relating to the request (as well as the default image if the requested image is not available).

Parameters
requestUrl The url of the remote image
imageListener The listener to call when the remote image is loaded
maxWidth The maximum width of the returned image.
maxHeight The maximum height of the returned image.
scaleType The ImageViews ScaleType used to calculate the needed image size.
Returns
  • A container object that contains all of the properties of the request, as well as the currently available image (default if remote is not loaded).

public ImageLoader.ImageContainer get (String requestUrl, ImageLoader.ImageListener imageListener, int maxWidth, int maxHeight)

Equivalent to calling get(String, ImageListener, int, int, ScaleType) with Scaletype == ScaleType.CENTER_INSIDE.

public ImageLoader.ImageContainer get (String requestUrl, ImageLoader.ImageListener listener)

Returns an ImageContainer for the requested URL. The ImageContainer will contain either the specified default bitmap or the loaded bitmap. If the default was returned, the ImageLoader will be invoked when the request is fulfilled.

Parameters
requestUrl The URL of the image to be loaded.

public static ImageLoader.ImageListener getImageListener (ImageView view, int defaultImageResId, int errorImageResId)

The default implementation of ImageListener which handles basic functionality of showing a default image until the network response is received, at which point it will switch to either the actual image or the error image.

Parameters
view The imageView that the listener is associated with.
defaultImageResId Default image resource ID to use, or 0 if it doesn't exist.
errorImageResId Error image resource ID to use, or 0 if it doesn't exist.

public boolean isCached (String requestUrl, int maxWidth, int maxHeight)

Checks if the item is available in the cache.

Parameters
requestUrl The url of the remote image
maxWidth The maximum width of the returned image.
maxHeight The maximum height of the returned image.
Returns
  • True if the item exists in cache, false otherwise.

public boolean isCached (String requestUrl, int maxWidth, int maxHeight, ImageView.ScaleType scaleType)

Checks if the item is available in the cache.

Parameters
requestUrl The url of the remote image
maxWidth The maximum width of the returned image.
maxHeight The maximum height of the returned image.
scaleType The scaleType of the imageView.
Returns
  • True if the item exists in cache, false otherwise.

public void setBatchedResponseDelay (int newBatchedResponseDelayMs)

Sets the amount of time to wait after the first response arrives before delivering all responses. Batching can be disabled entirely by passing in 0.

Parameters
newBatchedResponseDelayMs The time in milliseconds to wait.

Protected Methods

protected Request<Bitmap> makeImageRequest (String requestUrl, int maxWidth, int maxHeight, ImageView.ScaleType scaleType, String cacheKey)

protected void onGetImageError (String cacheKey, VolleyError error)

Handler for when an image failed to load.

Parameters
cacheKey The cache key that is associated with the image request.

protected void onGetImageSuccess (String cacheKey, Bitmap response)

Handler for when an image was successfully loaded.

Parameters
cacheKey The cache key that is associated with the image request.
response The bitmap that was returned from the network.