Riz*_*epi 2 java android kotlin picasso
我想从带有 picasso android 库的 URL 加载图像并将其显示以查看,但仅在 android 7.0 Nougat 中出现错误。
图像的 URL 使用 HTTPS。在我的另一个具有相同图像 URL 的项目中,如果我在真实设备 7.0 牛轧糖中运行,我没有收到错误,但如果我在模拟器 7.0 牛轧糖中运行,它仍然会出错。
我尝试了来自不同域的其他 URL 图像,但我也没有收到错误消息。
我如何解决它?
Picasso.get().load("My_URL_Image")
.resize(200,200)
.centerInside()
.placeholder(R.drawable.ic_default)
.error(R.drawable.ic_default)
.into(holder.imageView, object : Callback{
override fun onSuccess() {}
override fun onError(e: Exception?) {
e?.printStackTrace()
}
})
Run Code Online (Sandbox Code Playgroud)
W/System.err: com.squareup.picasso.NetworkRequestHandler$ResponseException: HTTP 504
W/System.err: at com.squareup.picasso.NetworkRequestHandler.load(NetworkRequestHandler.java:51)
W/System.err: at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:219)
W/System.err: at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:175)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:354)
Run Code Online (Sandbox Code Playgroud)
您必须像这样networkSecurityConfig在 AndroidManifest.xml文件中设置一个:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
之后,在您的xml文件夹中,您将根据上面的代码提及名称创建新文件,network_security_config以启用所有不加密的请求:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
现在您的应用程序将对任何类型的连接发出所有请求。有关更多信息,请阅读此内容。
我希望它会帮助你......!
Riz*_*epi -7
感谢大家的帮助,我找到了这种情况的解决方案,我删除FirebaseFirestore.getInstance()了我的家庭活动,因为我不再在主页上使用 firebase。我不知道为什么,但如果我不删除主页中的代码,应用程序在真实设备 android 7.0 Nougat 中运行正常,但在模拟器 7.0 Nougat 中仍然出错。
| 归档时间: |
|
| 查看次数: |
3830 次 |
| 最近记录: |