«

Android网络请求开源框架Volley快速使用指南(2)——异步获取图片

时间:2024-3-2 17:18     作者:韩俊     分类: Android


如果要学习volley基础的发起get和set请求的方法请参看:

关于volley的发起get和set请求

这篇主要提供一个快速使用volley加载网络图片到ImageView里的方法,具体代码如下:

    /**
     * 利用Volley异步加载图片
     *
     * 注意方法参数:
     * getImage(Context context,String imageUrl,ImageView mImageView)
     * 第一个参数:上下文
     * 第二个参数:图片地址
     * 第三个参数:要加载图片的ImageView
     */
    public static void getImage(Context context,String imageUrl,ImageView mImageView){
        RequestQueue requestQueue = Volley.newRequestQueue(context);
//        // 获取此设备的内存
        final int memClass = ((ActivityManager) context.getSystemService(
               Context.ACTIVITY_SERVICE)).getMemoryClass();
//        //用此设备1/8的应用内存来作为该缓存
        final int cacheSize = 1024 * 1024 * memClass / 8;
        //设置缓存
        final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(cacheSize);</span>
        //设置该图片的缓存,如果有缓存则从缓存中读取
        ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() {
            @Override
            public void putBitmap(String key, Bitmap value) {
                lruCache.put(key, value);
            }

            @Override
            public Bitmap getBitmap(String key) {
                return lruCache.get(key);
            }
        };
        ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache);
        //getImageListener方法第一个参数为你要加载图片的ImageView,第二个为默认图片,第三个为加载失败时显示的图片,可以为空
        ImageLoader.ImageListener listener = ImageLoader.getImageListener(mImageView, R.drawable.loading_bg,R.drawable.loading_bg);
        imageLoader.get(imageUrl, listener);
    }

标签: android

热门推荐