Activity에서 Compose를 사용하려면 적절한 LifecycleOwner와 ComponentActivity 사용해야 함
Activity Result
- rememberLauncherForActivityResult() 사용
기기에서 이미지를 선택하고, 선택한 이미지를 로드하는 예시
런타임 권한 요청
Back Button Control
- BackHandler 사용
첫 번째 인수는 BackHandler 사용 여부.
모든 Composable에 BackHandler 작성할 수 있으나, 이벤트는 가장 안쪽의 BackHandler가 처리함.
ViewModel
- viewModel 라이브러리 사용
viewModel()은 새 ViewModel 생성하거나 기존 ViewModel 반환함 (범위 활성화 된 경우).
데이터 스트림
- LiveData.observeAsState, Flow.collectAsState, Observable.subscribeAsState 등 사용하여 리스너 등록 및 State 반환
Navigation
https://velog.io/@ich0906/Compose-Navigation
Hilt
- Hilt 라이브러리를 사용해 종속성 주입
Paging
- Paging 라이브러리를 사용해 데이터를 점진적으로 매끄럽게 로드
이미지 로드
- Coil 라이브러리를 사용해 외부 소스에서 이미지를 로드