【问题标题】:Android Glide won't load .jpg from urlAndroid Glide 不会从 url 加载 .jpg
【发布时间】:2019-04-27 17:01:34
【问题描述】:

我有一个 glide 方法,我一直使用它从 url 获取图像。它以前无一例外地工作过。在新布局中,我有一个 ImageView,我需要从 url 获取其图像并显示。但是当视图渲染时,图像视图是空白的。

奇怪的是,当我通过 Charles 观察网络流量时,没有任何调用来获取 url。甚至没有失败的。

为了进行测试,我在滑行块的 .load() 部分硬编码了一个不同的 url,效果很好。因此,我知道布局是正确的。我还尝试对我尝试获取的实际 url 进行硬编码,但它也失败了。

网址正确。我可以将它粘贴到浏览器中,图像会立即加载。可能 Glide 不喜欢 url 的两个可能方面?首先,它是http而不是https。其次,它以“.jpg”结尾,我的其他图像通常是 png 的。

Glide.with(imageView.context).load(url).into(imageView)

我检查了 imageView 和 imageView.context 都是非空的,当然 url 字符串是正确的。

完全没有想法。谢谢。

【问题讨论】:

  • “我已经将一个不同的 url 硬编码到 glide 块的 .load() 部分,并且工作正常”——你测试了 httphttps URL?因为http 在 Android 9.0+ 上默认被禁止。
  • 就是这样。我忘记了 Android 9 http 限制。谢谢!

标签: android android-imageview android-glide


【解决方案1】:

您应该可以使用Glide's debugging options 来获取有关它遇到的问题的日志。

在您的情况下,应该有日志表明您收到“不支持 CLEARTEXT 通信”异常,因为 Android 9.0+ 默认需要 https

要解决那个,理想情况下只需使用https URL。或者,you can disable this requirement

【讨论】:

  • 对我来说这是一个 HTTP 问题。正如@CommonWare 链接的解决方案所建议的那样,将清单权限“usesCleartextTraffic”设置为“true”为我解决了问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 2020-11-03
  • 2021-05-30
  • 1970-01-01
  • 2018-10-18
相关资源
最近更新 更多