philipy355 / inflearn-compose

0 stars 0 forks source link

docs : ViewModel (#3) #12

Open philipy355 opened 11 months ago

philipy355 commented 11 months ago
class MainViewModel : ViewModel() {
    val data = mutableStateOf("Hello")
}

class MainActivity : ComponentActivity() {
    private val viewModel by viewModels<MainViewModel>()
    @OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class)
    @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter",
        "UnusedMaterialScaffoldPaddingParameter"
    )
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            val data = remember {
                mutableStateOf("Hello")
            }

            Column(
                modifier = Modifier.fillMaxSize(),
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
            ){
                Text(
                    viewModel.data.value,
                    fontSize = 30.sp
                )
                Button(onClick = {
                    viewModel.data.value = "World"
                }){
                    Text("변경")
                }
            }
        }
    }
}
philipy355 commented 11 months ago

//viewmodel implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0-rc01'

참고 https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-viewmodel-compose/2.4.0-rc01