소셜 로그인을 구현하기 위해서 개발하던 중, 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를 사용하지 않고, 개발을 해도 되는 건지...
이런 걸 물어볼 수 있는 커뮤니티엔 뭐가 있을까요?