android – 在Volley中向NetworkImageView添加身份验证标头

前端之家收集整理的这篇文章主要介绍了android – 在Volley中向NetworkImageView添加身份验证标头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Volley和Network ImageView.这对几个项目来说非常有用.但是我现在需要在标题中为我的图像请求发送auth令牌.做这个的最好方式是什么?在我的正常请求中,我覆盖getHeaders()并以这种方式放置我的令牌.但ImageLoView使用的ImageLoader会生成一个通用的Request,因此很难添加标题……

解决方法

我想出了一个解决方案.
要使用NetworkImageView,您需要创建一个图像加载器.在代码的这一点上,只是覆盖了ImageLoader的makeImageRequest()方法,并且在makeImageRequest()内部,覆盖了’ImageRequest’的getHeaders()方法
imageLoader = new ImageLoader(requestQueue,new ImageLoader.ImageCache() {
                private final LruCache<String,Bitmap>
                        cache = new LruCache<String,Bitmap>(20);

                @Override
                public Bitmap getBitmap(String url) {
                    return cache.get(url);
                }

                @Override
                public void putBitmap(String url,Bitmap bitmap) {
                    cache.put(url,bitmap);
                }
            }) {
        @Override
        protected Request<Bitmap> makeImageRequest(String requestUrl,int maxWidth,int maxHeight,final String cacheKey) {
            //return super.makeImageRequest(requestUrl,maxWidth,maxHeight,cacheKey);

            return new ImageRequest(requestUrl,new Response.Listener<Bitmap>() {
                @Override
                public void onResponse(Bitmap response) {
                    onGetImageSuccess(cacheKey,response);
                }
            },Bitmap.Config.RGB_565,new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    onGetImageError(cacheKey,error);
                }
            }) {
                @Override
                public Map<String,String> getHeaders() throws AuthFailureError {
                    HashMap<String,String> params = new HashMap<String,String>();
                    params.put("Authorization",YOUR_TOKEN);
                    return params;
                }
            };
        }
    };

这在技术上是一行代码:)我测试了这个,它对我有用.

猜你在找的Android相关文章