[Jetpack Compose] Activity 밖에서 context 전달하기

이윤진·2023년 3월 25일
0

Android 개발

목록 보기
5/9

소셜 로그인을 구현하기 위해서 개발하던 중, context 때문에 화면 전환을 할 수 없는 상황에 놓였다.

이번에 jetpack을 처음 써봐서 많이 해매었다.

일단

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            UsDividendTheme {
                // SDK init

                //navi
                val navController = rememberNavController()

                NavHost(navController = navController, startDestination = "login"){
                    composable("login"){
                        LoginPage(navController = navController, this@MainActivity)
                    }
                    composable("main"){
                        MainScreen()
                    }
                }
            }
        }
    }
}

이런 식으로 화면 전환을 위한 navigation 작업을 해주고, NavHost에서 화면을 정의할 때, 파라미터로 context를 보내줍니다.

이렇게 하면 activity 밖에서 context를 자유롭게 사용할 수 있습니다!

Jetpack을 공부할수록 activity, fragment 개념이 희미해지고 이를 composable이 대체하는 것 같은데 이게 맞는 지는 잘 모르겠네요...
그러면 이제 activity를 사용하지 않고, 개발을 해도 되는 건지...
이런 걸 물어볼 수 있는 커뮤니티엔 뭐가 있을까요?

profile
Android/Flutter 개발

0개의 댓글