无法在 Android 上使用 Picasso 下载图像
Unable to download image using Picasso on Android
我正在尝试使用 Picasso 下载以下图片 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 class 不再有 setProtocols() 方法。
谢谢!
将 link 插入为 "http" 而不是 "https" 将起作用。
以下代码适用于 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'
我正在尝试使用 Picasso 下载以下图片 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 class 不再有 setProtocols() 方法。
谢谢!
将 link 插入为 "http" 而不是 "https" 将起作用。
以下代码适用于 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'