Sobes.tech
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.