毕加索不在 android 10. 为什么?

Picasso is not working in android 10. Why?

我正在尝试通过一个简单的应用程序从毕加索的 URL 中获取图像。我的 MainActivity.java 文件是

'import com.squareup.picasso.Picasso;

public class MainActivity extends AppCompatActivity {

private ImageView iv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    iv = (ImageView) findViewById(R.id.iv);

    Picasso.with(MainActivity.this).load("https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png").into(iv);
    }
}`

我在构建 gradle 中添加了 Picasso 的依赖项,即:

dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
implementation 'com.squareup.picasso:picasso:2.5.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

这是我的 manifest.xml 文件:

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.firebaseproject">

    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:usesCleartextTraffic="true"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

所有这一切之后,当我尝试从 URL 获取此图像时,应用程序中没有显示任何内容。这是那个的截图

我被困在这里两天了,但是在溢出和 youtube 和 google 搜索之后找不到任何解决方案。如果有人知道如何解决这个问题,请帮助我。

我在诺基亚 5.1 plus 中使用 android 10 OS。 任何建议将不胜感激。提前谢谢你。

在通过Picasso获取图像时,找到下面的代码来打印异常。 我使用了与您共享的该库的相同版本。我已经在 Realme 10 OS 和 Samsung 10 中测试了这段代码。它正在工作。

implementation 'com.squareup.picasso:picasso:2.5.2'

在Java,

Picasso.Builder builder = new Picasso.Builder(this);
    builder.listener(new Picasso.Listener()
    {
        @Override
        public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception)
        {
            exception.printStackTrace();
        }
    });
    builder.build().load("https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png").into(imageView);

在科特林中,

val builder = Picasso.Builder(this)
        builder.listener(fun(picasso: Picasso, uri: Uri, exception: Exception) {
            exception.printStackTrace()
        })
        builder.build().load("https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png").into(imageView)

Sheetal answer是正确的找出问题所在。 Google 在 Android Q 上有一个新功能:外部存储的过滤视图。一个快速解决方法是在 AndroidManifest.xml 文件中添加此代码:

<manifest ... >
    <!-- This attribute is "false" by default on apps targeting Android Q. -->
    <application android:requestLegacyExternalStorage="true" ... >
     ...
    </application>
</manifest>

您可以在此处阅读更多相关信息:https://developer.android.com/training/data-storage/compatibility