各种网络请求获取URL图片信息

来源:互联网 发布:网络用语qb是什么意思 编辑:程序博客网 时间:2024/05/19 02:16

经过这么长时间了,发现这部分的处理又有了一些新的方面的进展。

除了用volley带的imageloader来进行网络图片的加载意外,还有一个更加方面好用的图片缓存加载机制。glide。

关于glide的使用,我也进行了一个转载: Glide图片加载缓存 。

大家也可以进行一下参考。


import android.graphics.Bitmap;import android.widget.ImageView;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.ImageLoader;import com.android.volley.toolbox.ImageRequest;import com.android.volley.toolbox.NetworkImageView;import com.activity.MyApplication;/** * Created by Administrator on 2016/9/12 0012. */public class ImageLoaderUtil {    /*    * 通过ImageRequest来显示网络图片    * */    public static void setImageRequest(String url, final ImageView imageView) {        ImageRequest imageRequest = new ImageRequest(url, new Response.Listener<Bitmap>() {            @Override            public void onResponse(Bitmap bitmap) {                imageView.setImageBitmap(bitmap);            }        }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {                imageView.setBackgroundResource(R.mipmap.ic_launcher);            }        });        MyApplication.getHttpQueue().add(imageRequest);    }    /*    * 通过ImageLoader来显示网络图片    * */    public static void setImageLoader(String url, ImageView imageView, int defaultImageResId, int errorImageResId) {        ImageLoader loader = new ImageLoader(MyApplication.getHttpQueue(), new ImageLoader.ImageCache() {            @Override            public Bitmap getBitmap(String s) {                return null;            }            @Override            public void putBitmap(String s, Bitmap bitmap) {            }        });        ImageLoader.ImageListener imageListener = ImageLoader.getImageListener(imageView, defaultImageResId, errorImageResId);        loader.get(url, imageListener);    }    /*    * 通过VolleyNetWorkImageView来显示网络图片    * */    public static void setNetWorkImageView(String url, NetworkImageView netWorkImageView, int defaultImageResId, int errorImageResId) {        ImageLoader loader = new ImageLoader(MyApplication.getHttpQueue(), new ImageLoader.ImageCache() {            @Override            public Bitmap getBitmap(String s) {                return null;            }            @Override            public void putBitmap(String s, Bitmap bitmap) {            }        });        netWorkImageView.setDefaultImageResId(defaultImageResId);        netWorkImageView.setErrorImageResId(errorImageResId);        netWorkImageView.setImageUrl(url, loader);    }}

上述包含了volley的iamgloader请求网络url数据,还有iamgeRequest和N额头WorkImageView,前两种本人已经经过测试,第三种我也没有进行使用,应该够大家使用了。

然后将queue的volley请求队列进行一个全局的封装。就可以进行使用了。如下:

public class MyApplication extends Application {    // 建立请求队列    public static RequestQueue queue;    @Override    public void onCreate() {        super.onCreate();        queue = Volley.newRequestQueue(getApplicationContext());    }    public static RequestQueue getHttpQueue() {        return queue;    }}

1 0
原创粉丝点击