제이슨의 개발이야기

[안드로이드(코틀린)]Navigation component 란 무엇일까? 본문

안드로이드

[안드로이드(코틀린)]Navigation component 란 무엇일까?

제이쓰은 2021. 3. 10. 11:47
728x90
반응형

Jetpack 과 함께 소개된 안드로이드 네비게이션은 Fragment 와 Activity간 구현을 심플하고 안정적으로 이동할 수 있도록 도와주는 컴포넌트 입니다

저는 기존 안드로이드 개발을 할때 안드로이드 네비게이션을 이용하지 않고 각 프래그먼트 이동을 직접 트랜잭션 을 통해 이동했는대 

네비게이션을 사용하면 좀 더 심플하고 안정적으로 이동할 수 있어서 너무 만족한 컴포넌트 입니다

 

참고로 네비게이션 컴포넌트는 하나의 액티비티에 여러개의 프래그먼트를 UI로 사용할 때 사용합니다!

저는 네비게이션 컴포넌트 의 기초 사용법에 대해서 설명하겠습니다!!    (쉬움)완전기초!!!

네비게이션 컴포넌트를 사용 하기 위해서는 

 

일단  gradle 에서

navigation 을 Implementation 해줍니다 ! 

 

그리고 필요로 한 프레그먼트를 만들어 줍니다! 

 

그리고 메인 activity를 

아래 이미지 수정해줍니다

 

그리고 res 폴더에 navigation 패키지를 만들어주고 nav_graph 파일을 만들어줍니다

그리고 나서 nav_graph 에서 Design탭을 누른다음 각 UI의 시나리오에 맞게 연결시켜 줍니다!

nav_graph 의 이미지 탭을 눌러야됩니다

처음에는 Fragment가 안나올겁니다 그래서 위에 이미지를 보면 + 모양이 있는대 그걸 누르면 그전에 자신이 만들어 놓은 Fragment가 있고  추가 하면 해당 화면에 나타날겁니다! 

추가 하고 나서 각 프레그먼트의 오른쪽 동그라미를 눌러서 UI 시나리오 대로 연결 시켜줍니다! 

동그라미를 눌러서 다른 UI 연결
nav_graph.xml 의 일부분 Text탭을 눌렀을떄 

 

그리고 나서 Fragment 에서 navController 를 연결시키고 화면 이동이 필요할 때 

navController.navigate() 를 사용하면 이동합니다! 

 

nav_graph에 프래그먼트를 연결 시켜놓으면 이미지 처럼 action_mainFragment_to_questionFragment 라는 id가 생깁니다 

그래서 navigate(R.id.action~~~) 하시면 화면이 이동합니다!!

해당 프로젝트는 유튜버 Code with Joyce님의 유튜브를 보면서 코틀린 공부를 한 프로젝트 이고 밑에 링크 타고 가시면 해당 프로젝트 하는 과정을 보실 수 있습니다! 

www.youtube.com/watch?v=M1e2tLnzVPo&t=3184s

728x90
반응형