[Jetpack Compose] Android Navigation 기초

2025. 1. 23. 11:24·Android/Study

화면 간의 이동은 앱을 개발할 때에 핵심적인 내용이기 때문에 Navigation에 대해 다뤄보려고 한다 😇

navigation의 주요 구성 요소인 NavHost, NavController에 대해 알아보자!

 

✏️ NavHost

  • 앱 내에서 경로(화면 간의 이동 구조)를 정의하는 컨테이너 역할
  • NavHost()를 사용한다
NavHost(navController = navController, startDestination = "home") {
	composable("home") {
    	HomeScreen() 
    }
    composable("details") {
        DetailsScreen() 
    } 
}

 

✏️ NavController

  • 화면 이동을 수행하는 핵심 컨트롤러
  • rememberNavController()를 사용해 선언
  • 목적지 간의 이동을 navigate() 함수로 수행
val navController = rememberNavController()

 

화면 이동 예시:

navController.navigate("details")
navController.navigate("details/123") // Route: "details/{id}"

 

🧐 Backstack 관리도 NavController가 담당한다!

  • navigateUp(): 현재 경로의 부모로 이동
navController.navigateUp()

 

  • popBackStack(): 백스택에서 특정 경로를 제거하거나 뒤로 이동
navController.popBackStack()

 

✅  마무리

  • NavHost는 앱의 화면 간 이동 구조 정의
  • NavController는 화면 간 이동과 백스택 관리

 

📌 참고 자료

  • Kotlin 공식 문서

'Android > Study' 카테고리의 다른 글

[Android] RecyclerView와 ViewHolder 패턴 (+ListVIew)  (4) 2025.02.05
[Android] SQLite vs Room  (3) 2025.02.03
[Jetpack Compose] Scaffold 사용법  (1) 2025.01.21
[Jetpack Compose] 위치 권한 요청 및 처리하기  (1) 2025.01.15
[Jetpack Compose] remember와 mutableStateOf  (2) 2025.01.07
'Android/Study' 카테고리의 다른 글
  • [Android] RecyclerView와 ViewHolder 패턴 (+ListVIew)
  • [Android] SQLite vs Room
  • [Jetpack Compose] Scaffold 사용법
  • [Jetpack Compose] 위치 권한 요청 및 처리하기
romieeeee
romieeeee
  • romieeeee
    progromi
    romieeeee
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (16)
      • Kotlin (2)
      • Android (1)
        • Study (11)
        • Error (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    주소api
    Android
    flowrow
    RecyclerView
    SGIS
    requestpermissionlauncher
    compose
    ondrawover
    logcat 한글 깨짐
    bottombar
    inputchip
    pagerstate
    위치 권한
    mutablestateof
    logcat 문제해결
    lazyinit var
    filterchip
    lazythreadsafetymode
    lazyinit
    NavHost
    shouldshowrequestpermissionrationale
    navcontroller
    assistchip
    Kotlin
    horizontalpager
    AndroidStudio
    kotlin val
    jetpack compose
    suggestionchip
    divideritemdecoration
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
romieeeee
[Jetpack Compose] Android Navigation 기초
상단으로

티스토리툴바