[kotlin] 코틀린과 Android Jetpack의 ImageDecoder를 활용하여 이미지 디코딩하는 방법은?

ImageDecoder 사용하기

Android Jetpack의 ImageDecoder는 Android 9 Pie(API 레벨 28)부터 도입된 이미지 디코딩 라이브러리입니다. ImageDecoder를 사용하면 비트맵을 로드하고 디코딩할 때 발생하는 일반적인 문제를 해결할 수 있습니다.

다음은 Kotlin에서 ImageDecoder를 사용하여 이미지를 디코딩하는 간단한 예제입니다.

import android.graphics.ImageDecoder
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val imageView: ImageView = findViewById(R.id.imageView)
        val uri = Uri.parse("your_image_uri_here")

        if (Build.VERSION.SDK_INT < 28) {
            val bitmap = ImageDecoder.decodeBitmap(ImageDecoder.createSource(contentResolver, uri))
            imageView.setImageBitmap(bitmap)
        } else {
            val source = ImageDecoder.createSource(contentResolver, uri)
            val drawable = ImageDecoder.decodeDrawable(source)
            imageView.setImageDrawable(drawable)
        }
    }
}

위의 예제에서는 ImageDecoder를 사용하여 이미지를 디코딩하고, 안드로이드 버전에 따라 decodeBitmap 또는 decodeDrawable을 호출하는 방법을 보여줍니다.

이제 ImageDecoder를 사용하여 안드로이드 앱에서 이미지를 디코딩하는 방법을 이해하셨을 것입니다. 추가 질문이 있으시면 언제든지 물어보세요!