Picasso加载图片添加请求头addHeader

来源:互联网 发布:mac如何导入iphone照片 编辑:程序博客网 时间:2024/04/28 01:04

        Picasso是Android图片加载强大的第三方库,用法非常简单。github

Picasso.with(this).load(imageUrl).into(imageView);

        一般情况下,图片直接放在文件服务器上,但是在特殊的情况下,为了安全考虑,文件服务器可能会加身份认证,这就需要在网络请求时添加特定的请求头信息。那么怎么做呢,在翻阅了github上面的issues后,得到了解决方案。下面贴上博主的代码,希望能帮到大家。


        首先,要添加Picasso和okhttp的jar(也可以直接用library dependency依赖)。



        第二步实现Interceptor重写intercept方法。

    public class LoginInterceptor implements Interceptor {        public LoginInterceptor() {        }        @Override        public Response intercept(Chain chain) throws IOException {            Request.Builder request = chain.request().newBuilder();            request.addHeader("Cookie", HybridApp.getInstance().getLoginCookies());            return chain.proceed(request.build());        }    }



        第三步就可以直接使用我们重写的LoginIntercetor一步步实例化Picasso并加载图片。
        final OkHttpClient okHttpClient = new OkHttpClient();        okHttpClient.interceptors().add(new LoginInterceptor());        Picasso picasso = new Picasso.Builder(HomeActivity.this).downloader(new OkHttpDownloader(okHttpClient)).build();        picasso.load(imageUrl).placeholder(R.mipmap.ic_launcher).into(imageView);

        

        到此,给picasso添加请求头就结束了。


1 0
原创粉丝点击