Android Jetpack이란?
좋은 안드로이드 앱을 만들기 위한 도움을 제공하는 소프트웨어 컴포넌트의 모음.
- Activity LifeCycle을 관리
- 구성 변경에 대응
- 메모리 누수를 방지
위 주요 문제들에 대한 해결책을 제공한다.
Android Jetpack Components
Android Jetpack은 4가지 범주로 구분된다.
- Foundation Components
- Architecture Components
- Behavior Components
- UI Components
Foundation Components
Foundation Components는 다음 기능을 제공한다.
- Backward Compatibility (하위 호환성)
- Testing
- Kotlin language support
Foundation Components의 종류는 다음과 같다.
- AppCompat: 이전 버전의 안드로이드에 대해 호환성을 제공.
- Android KTX: 코틀린 확장자 세트를 제공함 (간결한 코드)
- Multidex: 멀티 덱스 파일을 제공함
- Test: 유닛 및 런타임 테스트를 위한 프레임워크
Architecture Components
Architecture Components는 다음 기능을 제공한다.
- Testable App을 개발하는 데 도움 (테스트)
- Maintainable App을 개발하는 데 도움 (유지보수)
Architecture Components의 종류는 다음과 같다.
- DataBinding: UI요소를 데이터 소스에 선언적으로 바인딩함.
- LifeCycles: Activity와 Fragment의 생명 주기를 관리
- LiveData: 데이터 변경 내역을 뷰에 알림
- Navigation: navigation(화면 전환)에 관한 것 처리
- Paging: 정보를 한 번에가 아닌 점진적으로 로드
- Room: SQLite 데이터베이스 접근
- ViewModel: UI 관련 데이터를 생명 주기에 맞춰 관리
- WorkManager: 백그라운드 작업 관리
Behavior Components
Behavior Components는 알림(Notification), 권한(Permission) 등 표준 Android 서비스와의 통합에 도움을 준다.
- Download Manager: 백그라운드에서 대규모 다운로드 예약 및 관리.
- Media & Playback: 미디어 재생 및 라우팅.
- Notification: 알림 API 제공.
- Permissions: 권한 확인 및 요청 API 제공.
- Preferences: 사용자가 구성할 대화형 설정 화면 제공.
- Sharing: 앱 액션 바에 적합한 공유 작업 제공.
- Slices: 앱 외부에 앱 데이터 표시하고 확장 가능한 UI 요소 제공.