Android Compose LaunchedEffect doesn't work

사용 언어: Kotlin 1.9.0

사용 버전: Android Studio Hedgehog 2023.1.1


안드로이드 컴포즈 LaunchedEffect doesn't work를 알아보겠습니다.


LaunchedEffect는 Coroutine을 이용하여 UI를 업데이트할 때 사용합니다. 

key parameter의 값이 변화하면 계속해서 추적하는 그러한 함수입니다.


그런데, 이게 제 예상과는 다르게 업데이트가 되지 않는 겁니다.

한 번 보시죠.







보면, 진행바가 진행되는 동안 recomposition이 일어나지 않는 것을 알 수 있습니다.

분명 해당 class는 castleUiState에서 추적되고 있는데 말이죠.









해당 progressbar는 location 값으로 작동합니다.






위의 코드를 아래처럼 변경해 줍니다.





화면을 다시 그리는 recomposition을 발동시키기 위해서는 변화하는 값을 State로 만들 필요가 있습니다. 그 부분을 놓친 것이 문제였습니다.

실행해 봅시다.





LuanchedEffect가 잘 작동하는 것을 확인할 수 있습니다.



참고 프로젝트




끝.


카테고리: Android, Compose


댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python bytes.fromhex()

Python OpenCV 빈 화면 만들기

Android Notification with Full Screen

Android Minimum touch target size

Android Compose Instrumentation test to unit test

KiCad 시작하기 7 (FreeRoute 사용하기 2)

tensorflow tf.expand_dims()

딩기 요트 명칭

Android AVD Ram size change