Android Jetpack Compose 한 번 써봤습니다
![thumbnail](https://images.nomadterrace.com/articles/886c5d06-cfbb-11ed-831d-0a58a9feac02.png)
-
소개 안드로이드 팀원들과 함께 Jetpack Compose에 대해 스터디하면서 Compose를 신상 마켓 앱에 적용해보았다. 기존에는 XML 레이아웃을 사용했지만, Compose를 사용하면서 코드가 줄고 더 선언형으로 UI를 개발할 수 있었다.
-
Composable 함수 Compose에서는 화면을 그릴 때 Composable 함수를 사용한다. 예를 들어 TextField가 Composable 함수이므로 입력 값이 바뀌면 콤마 후처리를 할 수 있다. ViewModel에 LiveData 변수를 만들고 observe하여 TextField의 값을 관리했다.
-
데이터 로딩 및 스크롤 전체 화면으로 처리하여 첫 데이터부터 보여줄 수 없는 상황에서 스크롤 후 두 번째 로딩부터는 이미 불러온 아이템 아래에 Loading Indicator나 실패 메시지 등을 추가해준다. 특정 index까지 스크롤했을 때에 네트워크 통신을 시도하도록 처리했다.
-
FullScreenStatusHandle과 BottomStatusHandle Composable status에 따라 필요한 UI를 그려 주기 위해 FullScreenStatusHandle과 BottomStatusHandle Composable을 만들어 사용했다.
-
결론 Jetpack Compose를 사용하면 코드가 줄면서 도형이나 selector와 같이 여러 개의 XML 파일을 만들 필요가 없어 번거로움이 줄어든다. 실무자나 입문자에게 Jetpack Compose는 좋은 경험이 될 것이다.