private val coroutineScope by lazy { CoroutineScope(Dispatcher.IO) }
private val infoSaveModule : DataStoreModule by inject()
coroutineScope.launch {
infoSaveModule.setData(1)
Navigation.findNavController(binding.root).navigate(R.id.action)
}
์ฝ๋ฃจํด ์ค์ฝํ ๋ด์์ Jetpack Navigation์ ์ฌ์ฉํ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋๊ฐ ์๋ ๋ฉ์ธ์ค๋ ๋์์ Navigation์ ์ฌ์ฉํ๊ฑฐ๋, ์ฝ๋ฃจํด ์ค์ฝํ์ ์ค๋ ๋ํ์ ๋ฉ์ธ์ค๋ ๋๋ก ์ง์ ํด์ฃผ๋ฉด ํด๊ฒฐํ ์ ์๋ค. ๊ฐ์์ ๋ชฉ์ ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ์์ ํ์.
1. ๋ฉ์ธ์ค๋ ๋์์ Navigation ์ฌ์ฉ
class MainFragment : Fragment() {
private val coroutineScope by lazy { CoroutineScope(Dispatcher.IO) }
private val infoSaveModule : DataStoreModule by inject()
private fun login(){
...
coroutineScope.launch {
infoSaveModule.setData(1)
}
...
Navigation.findNavController(binding.root).navigate(R.id.action)
}
}
2. ์ฝ๋ฃจํด ์ค์ฝํ์ ์ค๋ ๋ํ์ ๋ฉ์ธ์ค๋ ๋๋ก ๋ณ๊ฒฝํด์ ์ฌ์ฉ
class MainFragment : Fragment() {
private val coroutineScope by lazy { CoroutineScope(Dispatcher.Main) }
private val infoSaveModule : DataStoreModule by inject()
...
}