Добавление заголовков аутентификации в NetworkImageView в Volley

Я использую Volley и NetworkImageView. Это отлично работает для нескольких проектов. Однако мне нужно отправить токен аутентификации в заголовках для моего запроса на изображение прямо сейчас. Каков наилучший способ сделать это? В моих обычных запросах я переопределяю getHeaders () и ставил свой токен таким образом. Но ImageLoader, который использует NetworkImageView, генерирует общий запрос, что затрудняет добавление заголовков …

Solutions Collecting From Web of "Добавление заголовков аутентификации в NetworkImageView в Volley"

Я придумал решение. Чтобы использовать NetworkImageView, вам необходимо создать загрузчик изображений. В этот момент кода просто переопределите метод makeImageRequest() ImageLoader и внутри makeImageRequest() , переопределите метод getHeaders() в ImageRequest:

 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); } }, maxWidth, maxHeight, 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; } }; } }; 

Это технически одна строка кода 🙂 Я протестировал это, и это работает для меня.

Не нашли простого способа сделать это. Я разветвил Волей, чтобы выполнить то, что мне нужно. Не стесняйтесь использовать, если вам это нужно.

https://github.com/leofirespotter/ubervolley

Также здесь добавляется скругленный NetworkImageView, скопированный из ( http://solutionforandroid.blogspot.com/2013/12/rounded-networkimageview-using-volley.html )