无法在 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'