我正在尝试使用毕加索https://s3-media4.fl.yelpcdn.com/bphoto/94E7Ti0RTDbA6mGotZw5DA/o.jpg
下载以下图片我可以在浏览器中看到它。但是,当我尝试使用Picasso下载它时,出现错误(onError()方法中的断点被命中)。
这是我的代码的一部分:
final RequestCreator rc = with(context).load(fullImagePath);
if (fit != null && fit) {
rc.fit();
}
// If no callback listener exists, create one.
if (callbackListener == null) {
callbackListener = new Callback() {
@Override
public void onSuccess() {
L.p("onSuccess retrieving " + fullImagePath);
}
@Override
public void onError() {
// Something went wrong
L.p("Error retrieving " + fullImagePath);
}
};
}
rc.into(fImageView, callbackListener);
我发现了这一点:https://github.com/square/picasso/issues/500,但是它有点过时了,OkHttpClient类不再具有setProtocols()方法。
谢谢!
答案 0 :(得分:0)
将链接插入为“ http”而不是“ https”即可。
答案 1 :(得分:0)
以下代码对我来说都适用于http和https链接。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
String https = "https://s3-media4.fl.yelpcdn.com/bphoto/94E7Ti0RTDbA6mGotZw5DA/o.jpg";
String http = "http://www.sunseed.org.uk/projectpack/files/2014/05/Library_1400_800-1200x686.jpg";
Picasso.with(this)
.load(https)
.placeholder(R.drawable.me)
.into(imageView);
}
还请确保您在清单文件中写入以下权限:
<uses-permission android:name="android.permission.INTERNET" />
还要在build.gradle文件中写以下内容
implementation 'com.squareup.picasso:picasso:2.5.2'