이전 가이드
- Navigation 2에서 Navigation 3으로 이전 가이드: Android 애플리케이션을 Navigation 2에서 Navigation 3으로 이전하는 단계별 가이드로, 종속 항목 업데이트, 경로 변경, 상태 관리, UI 구성요소 교체를 다룹니다.
요구사항
- 가이드: Compose에서 타입 안전 탐색으로 이전: Jetpack Navigation 2를 사용하여 Android 애플리케이션을 문자열 기반 탐색에서 Jetpack Compose의 타입 안전 탐색으로 이전하는 단계별 가이드입니다.
개발자 문서
- *탐색 3 기본사항, 탐색 상태 저장 및 관리, 탐색 코드 모듈화, 장면을 사용한 맞춤 레이아웃 만들기, 대상 간 애니메이션, 대상에 로직 또는 래퍼 적용에 관한 자세한 내용은 문서를 검색하세요.
레시피
일반적인 패턴을 보여주는 코드 예시
기본 API 사용
- 기본: 가장 기본적인 API 사용을 보여줍니다.
- 저장 가능한 백 스택: 지속적인 백 스택을 사용한 기본 API 사용법을 보여줍니다.
- 항목 제공자 DSL: entryProvider DSL을 사용하는 기본 API 사용법을 보여줍니다.
일반 UI
- 공통 UI: 하단 탐색 메뉴와 여러 백 스택을 사용하여 공통 탐색 UI 패턴을 구현하는 방법을 보여줍니다. 탐색 메뉴의 각 탭에는 자체 탐색 기록이 있습니다.
딥 링크
- 기본: Android 인텐트에서 딥 링크 URL을 파싱하여 탐색 키로 변환하는 방법을 보여줍니다.
- 고급: 합성 뒤로 스택과 올바른 '위로' 탐색 동작으로 딥 링크를 처리하는 방법을 보여줍니다.
장면
내장 장면 사용
- 대화상자: 대화상자를 만드는 방법을 보여줍니다.
맞춤 장면 만들기
- BottomSheet: BottomSheet 대상 생성 방법을 보여줍니다.
- 목록-세부정보 장면: 탐색 3 장면 API를 사용하여 적응형 목록-세부정보 레이아웃을 구현하는 방법을 보여줍니다.
- 두 개의 창 장면: 탐색 3 장면 API를 사용하여 적응형 두 개의 창 레이아웃을 구현하는 방법을 보여줍니다.
Material Adaptive
- Material 목록-세부정보: Material 3 적응형을 사용하여 적응형 목록-세부정보 레이아웃을 구현하는 방법을 보여줍니다.
- Material 지원 창: Material 3 적응형을 사용하여 적응형 지원 창 레이아웃을 구현하는 방법을 보여줍니다.
애니메이션
- 애니메이션: 모든 대상 및 단일 대상의 기본 애니메이션을 재정의하는 방법을 보여줍니다.
일반적인 백 스택 동작
- 여러 백 스택: 각각 자체 백 스택이 있는 여러 최상위 경로를 만드는 방법을 보여줍니다. 최상위 경로가 탐색 메뉴에 표시되어 사용자가 경로 간에 전환할 수 있습니다. 상태는 각 최상위 수준 경로에 대해 유지되며 탐색 상태는 구성 변경과 프로세스 종료 시에도 유지됩니다.
조건부 탐색
- 조건부 탐색: 조건이 충족되면 다른 탐색 흐름으로 전환합니다. 예를 들어 인증 또는 최초 사용자 온보딩의 경우입니다.
아키텍처
- 모듈화된 탐색 코드 (Hilt): DI를 위해 Hilt 또는 Dagger를 사용하여 탐색 코드를 별도의 모듈로 분리하는 방법을 보여줍니다.
- 모듈화된 탐색 코드 (Koin): DI에 Koin을 사용하여 탐색 코드를 별도의 모듈로 분리하는 방법을 보여줍니다.
ViewModel 작업
탐색 인수 전달
- 기본 ViewModel: 탐색 인수가
viewModel()를 사용하여 생성된ViewModel에 전달됩니다.
결과 반환
- 결과를 이벤트로 반환: 다른
NavEntry의 콘텐츠에 결과를 이벤트로 반환 - 결과를 상태로 반환:
CompositionLocal에 저장된 결과를 상태로 반환