Today I Learn

[Android / Kotlin] Compose Coil 이미지 로딩 시, Error 디버깅

SeungYong.Lee 2024. 6. 26. 12:29
반응형

이미지 로딩 라이브러리 중 하나인 Colil을 Compose UI에서 로딩 시, 실패했을 경우의 Error를 확인하기 위한 방법입니다.

 

val painter = rememberAsyncImagePainter(
    model = ImageRequest.Builder(context).data(item.imageUrl)
        .placeholder(R.drawable.blank_ad).build()
)

인자로 받은 item의 imageUrl을 통해 이미지를 로딩합니다. 

물론 manifest에 인터넷 사용 권한이 허가되어 있는지 또한 반드시 체크해 주세요.

로딩했는데, placeholder의 Drawable로 표시되면 뭔가 문제가 있는 것이겠지요?

 

val state = painter.state

painter의 state 값을 가져옵니다.

해당 변수는 현재 이미지 로딩 상태에 대한 mutableState 변수로서 Error 발생 여부 확인이 가능합니다.

 

if (state is AsyncImagePainter.State.Error) {
    Lo.g("Error loading image: ${state.result.throwable}")
}

위 코드를 통해 에러 내용을 이제 확인해 볼 수 있습니다.

반응형