제이슨의 개발이야기

[안드로이드 코틀린] 상황에 따라 navigation start destination 수정하는법! 본문

안드로이드

[안드로이드 코틀린] 상황에 따라 navigation start destination 수정하는법!

제이쓰은 2021. 3. 27. 18:08
728x90
반응형

네비게이션 넘포넌트 (navigation component) 를 사용하여  앱 개발을 진행 하다 보면 start destination 을 수정하고 싶은 경우가 생깁니다 

대표적인 예로 

앱을 실행했을때 로그인한 유저 또는 비로그인 유저에 따라서 로그인 화면을 보여주거나 혹은 메인 화면을 보여주고 싶은 경우가 있습니다 

그러나 보통 start destination 을 미리 정하기 때문에 유동적으로 바꾸기가 어렵습니다 

 

그래서 상황에 따라 start destination 을 바꿔야 합니다!! 

 

저같은 경우 파이어베이스로 로그인 후 해당 유저가 다시 앱을 실행 했을 때 로그인 한 유저인지 확인 후 start destination을 수정합니다

 

if( FirebaseAuth.getInstance().currentUser!=null) 을 통해 로그인 한 유저인지 확인하고 

로그인 한 유저인 경우 

 

var navGraph = navController.graph
navGraph.startDestination = R.id.HomeFragment
navController.graph = navGraph

을 통해서 HomeFragment 를 start destination 으로 수정 후 navController.graph = navGraph 을 하면 

 

앱을 실행 했을 때 로그인 여부에 따라 처음으로 보여지는 화면을 다르게 할 수 있습니다 !

728x90
반응형