Notice
Recent Posts
Recent Comments
Link
제이슨의 개발이야기
[안드로이드 코틀린] 상황에 따라 navigation start destination 수정하는법! 본문
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
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드 코틀린] 뷰페이저 와 인디케이터(탭 레이아웃)인스타그램 사진 같이 (0) | 2021.04.06 |
---|---|
[안드로이드 코틀린] 버튼눌렀을때 팝업메뉴(PopupMenu) 호출! (0) | 2021.04.05 |
안드로이드 웹뷰 대란 웹뷰란 무엇인가? (0) | 2021.03.25 |
코틀린 코루틴이란 무엇인가?? 꼭 배워야 할까?? 코루틴 vs rx자바 (0) | 2021.03.25 |
[안드로이드 코틀린] 코루틴을 이용해서 간단한 okhttp 통신 (0) | 2021.03.18 |