gpt4 book ai didi

android - 如何在android中的asynctask中使用glide

转载 作者:行者123 更新时间:2023-11-29 14:43:04 25 4
gpt4 key购买 nike

我在我的 Activity 中使用 asynctask 从服务器获取数据。从服务器返回的数据是 JSON 格式。json 数据还包含一个图像 url 值,图像存储在服务器上。现在在获取之后doInBackground() 方法中的数据我存储一个 json 对象并发送到 onPostExecute() 方法。在 onPostExecute 方法中,我使用 glide 从服务器获取图像,就像这样。

var jsonobj: JSONObject = link_array.getJSONObject(i)
val sb = StringBuilder()
val link = Globals.link
sb.append(link + "/").append(jsonobj.getString("url"))
var c = sb.toString()
var bitmap: Bitmap = Glide.with(activity!!).asBitmap().load(c).submit().get()
var image = bitmap

我正在获取图像,然后存储在 Bitmap 变量类型中。但它给我一个错误,我应该在背景线程上使用滑行。Glide 用于图像获取目的,它在后台运行,但这里为什么它给了我一个错误。我使用的滑行版本是

implementation 'com.github.bumptech.glide:glide:4.8.0'

所以我的问题是如何在 onPostExecute 方法中使用 Glide 获取图像并将其存储在 Bitmap 变量类型中。当我在 doInBackground() 方法中使用代码时代码工作正常,但我不想要那样,因为它使加载数据变慢。

最佳答案

onPostExecute 在主线程上运行,因此您必须在后台获取位图。

虽然你可以将 url 传递给 Glide,它会处理它:

Glide.with(context).load(„your_url_here”).into(your_imageview)

关于android - 如何在android中的asynctask中使用glide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54645323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com