1. Lifecycle 2. ViewModel 3. Compose import androidx.lifecycle.ViewModel class CounterViewModel : ViewModel() { private var count = 0 fun getCount(): Int { return count } fun incrementCount() { count++ } } import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.material.Button import androidx.compose.material.Text import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.compose.viewModel class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val viewModel = ViewModelProvider(this).get(CounterViewModel::class.java) setContent { val count = remember { mutableStateOf(viewModel.getCount()) } Column { Text(text = "Count: ${count.value}") Button(onClick = { viewModel.incrementCount() count.value = viewModel.getCount() }) { Text(text = "Increment") } } } } } groovy dependencies { implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' implementation 'androidx.activity:activity-compose:1.4.0' implementation 'androidx.compose.runtime:runtime:1.1.0' implementation 'androidx.compose.ui:ui-tooling-runtime:1.1.0' }


上一篇:
下一篇:
切换中文