Picasso加载https的图片加载不出来的解决方案
最近项目中有需求–要显示https链接的图片,但是配置好路径后原生的Picasso死活没法加载出图片,最后在网上找到了如下的解决办法
确认依赖
compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.squareup.picasso:picasso:2.5.2'
-
自定义类
ImageDownLoader实现com.squareup.picasso.Downloader代码如下:package china.test.helper; import android.net.Uri; import com.squareup.picasso.Downloader; import com.squareup.picasso.NetworkPolicy; import java.io.IOException; import okhttp3.Cache; import okhttp3.CacheControl; import okhttp3.OkHttpClient; import okhttp3.ResponseBody; import okhttp3.Request; /** * Created by benchengzhou on 2017/11/14 13:52 . * 作者邮箱: mappstore@163.com * 功能描述: 重写picasso的下载器,修改使用okhttp3作为下载 * 类 名: ImageDownLoader * 备 注: */ public class ImageDownLoader implements Downloader { /* OkHttpClient client = new OkHttpClient.Builder() .protocols(Collections.singletonList(Protocol.HTTP_1_1)) .build();*/ private OkHttpClient client= null; public ImageDownLoader(OkHttpClient okHttpClient) { this.client = okHttpClient; } @Override public Response load(Uri uri, int networkPolicy) throws IOException { CacheControl cacheControl = null; if (networkPolicy != 0)

在Android项目中,使用Picasso加载HTTPS图片时遇到问题。解决方案包括确认依赖,自定义Downloader并配置初始化,使用全局OkHttpClient对象并添加HTTPS信任规则。通过指定OkHttp作为Picasso的下载器,实现了HTTPS请求的支持。具体实现包括创建TrustAllCerts.java以配置信任规则,以及在项目中引用特定版本的okhttp和picasso库。
最低0.47元/天 解锁文章
7494





