毕加索不在 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
我正在尝试通过一个简单的应用程序从毕加索的 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