RequestQueue mQueue = Volley.newRequestQueue(context);接下来我们还需要创建一个ImageRequest对象,如下所示:
ImageRequest imageRequest = new ImageRequest( "http://android.com/images/home/bdgc.png", new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) { imageView.setImageBitmap(response); } }, 0, 0, Config.RGB_565, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { imageView.setImageResource(R.drawable.default_image); } });ImageRequest的构造函数接收六个参数:
最后将这个ImageRequest对象添加到RequestQueue里就可以了,如下所示:
mQueue.add(imageRequest);
RequestQueue mQueue = Volley.newRequestQueue(context);2>. 创建一个ImageLoader对象。
ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache);ImageLoader对象的第1个参数就是RequestQueue对象;
ImageListener listener = ImageLoader.getImageListener(imageView, R.drawable.default_image, R.drawable.failed_image);调用ImageLoader的getImageListener()方法能够获取到一个ImageListener对象,getImageListener()方法接收三个参数,
imageLoader.get("http://company.com/uploads/bdgc.jpeg", listener);get()方法接收两个参数:
imageLoader.get("http://company.com/uploads/bdgc.jpeg", listener,300,300);现在将获取ImageLoader中的ImageCache对象进行处理,具体代码如下:
public class BitmapCache implements ImageCache { private LruCache<String, Bitmap> mCache; public BitmapCache() { int maxSize = 10 * 1024 * 1024; mCache = new LruCache<String, Bitmap>(maxSize) { @Override protected int sizeOf(String key, Bitmap bitmap) { return bitmap.getRowBytes() * bitmap.getHeight(); } }; } @Override public Bitmap getBitmap(String url) { return mCache.get(url); } @Override public void putBitmap(String url, Bitmap bitmap) { mCache.put(url, bitmap); } }3.NetworkImageView的用法
<ImageView android:id="@+id/image_view" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" />更换为:
<com.android.volley.toolbox.NetworkImageView android:id="@+id/network_image_view" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" />4>. 在代码中获取该控件的实例。
networkImageView = (NetworkImageView) findViewById(R.id.network_image_view);5>. 设置要加载的图片地址。
networkImageView.setDefaultImageResId(R.drawable.default_image); networkImageView.setErrorImageResId(R.drawable.failed_image); networkImageView.setImageUrl("http://company.com/uploads/bdgc.jpeg", imageLoader);setImageUrl()方法接收两个参数,第一个参数用于指定图片的URL地址,第二个参数则是前面创建好的ImageLoader对象。