Junior — Middle
Ako implementovať vzor MVVM v aplikáciách využívajúcich Jetpack Compose pre UI
sobes.tech AI
Odpoveď od AI
V Jetpack Compose sa vzorom MVVM se implementira s pomočjo razdelitve na:
- Model — poslovna logika in podatki.
- ViewModel — hrani stanje UI in obdeluje logiko interakcije.
- View (Compose UI) — prikazuje podatke in reagira na spremembe stanja.
Primer:
class MyViewModel : ViewModel() {
// Stanje UI, na primer, tekstovno polje
var text by mutableStateOf("")
private set
fun onTextChanged(newText: String) {
text = newText
}
}
@Composable
fun MyScreen(viewModel: MyViewModel = viewModel()) {
val text = viewModel.text
TextField(
value = text,
onValueChange = { viewModel.onTextChanged(it) },
label = { Text("Vnesite besedilo") }
)
}
Tukaj, ViewModel vsebuje stanje in metode za njegovo spremembo. Compose UI se naroči na stanje preko mutableStateOf in se samodejno posodobi ob spremembah.
Ta pristop zagotavlja jasno razdelitev odgovornosti in olajša testiranje.