Dealicious Tech Blog

Android Jetpack Compose 한 번 써봤습니다

thumbnail
  1. 소개 안드로이드 팀원들과 함께 Jetpack Compose에 대해 스터디하면서 Compose를 신상 마켓 앱에 적용해보았다. 기존에는 XML 레이아웃을 사용했지만, Compose를 사용하면서 코드가 줄고 더 선언형으로 UI를 개발할 수 있었다.

  2. Composable 함수 Compose에서는 화면을 그릴 때 Composable 함수를 사용한다. 예를 들어 TextField가 Composable 함수이므로 입력 값이 바뀌면 콤마 후처리를 할 수 있다. ViewModel에 LiveData 변수를 만들고 observe하여 TextField의 값을 관리했다.

  3. 데이터 로딩 및 스크롤 전체 화면으로 처리하여 첫 데이터부터 보여줄 수 없는 상황에서 스크롤 후 두 번째 로딩부터는 이미 불러온 아이템 아래에 Loading Indicator나 실패 메시지 등을 추가해준다. 특정 index까지 스크롤했을 때에 네트워크 통신을 시도하도록 처리했다.

  4. FullScreenStatusHandle과 BottomStatusHandle Composable status에 따라 필요한 UI를 그려 주기 위해 FullScreenStatusHandle과 BottomStatusHandle Composable을 만들어 사용했다.

  5. 결론 Jetpack Compose를 사용하면 코드가 줄면서 도형이나 selector와 같이 여러 개의 XML 파일을 만들 필요가 없어 번거로움이 줄어든다. 실무자나 입문자에게 Jetpack Compose는 좋은 경험이 될 것이다.