Android kotlin从网络加载图片并显示在ImageView控件上
时间: 2023-06-26 17:06:48 浏览: 235
Android从网络加载图片并显示在ImageView控件上
在Android中,我们可以使用Kotlin编写代码来从网络加载图片并将其显示在ImageView控件上。这里介绍一种常用的方法:
1. 导入必要的库
```kotlin
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.os.AsyncTask
import android.widget.ImageView
import java.net.URL
```
2. 创建异步任务类DownloadImageTask
```kotlin
class DownloadImageTask(private val imageView: ImageView) : AsyncTask<String, Void, Bitmap>() {
override fun doInBackground(vararg urls: String): Bitmap? {
val urlOfImage = urls[0]
var bitmap: Bitmap? = null
try {
val inputStream = URL(urlOfImage).openStream()
bitmap = BitmapFactory.decodeStream(inputStream)
} catch (e: Exception) {
e.printStackTrace()
}
return bitmap
}
override fun onPostExecute(result: Bitmap?) {
imageView.setImageBitmap(result)
}
}
```
3. 加载图片
```kotlin
val imageView = findViewById<ImageView>(R.id.imageView)
val url = "http://example.com/image.jpg"
DownloadImageTask(imageView).execute(url)
```
这里我们创建了一个DownloadImageTask类,它继承了AsyncTask类,负责在后台线程中加载图片,并在加载完成后在主线程中更新ImageView控件。在加载图片时,我们使用了BitmapFactory类来将输入流转换为位图。最后,我们调用execute方法来启动异步任务并传递图片的URL。
阅读全文