Android Architecture Components (dio Jetpacka) su biblioteke koje pomažu u izgradnji robusnih, održivih aplikacija — uključujući ViewModel (stanje koje je svjesno životnog ciklusa), LiveData/StateFlow (promatljivi podaci) i Room (apstrakcija baze podataka). Podržavaju preporučene obrasce arhitekture.
ViewModel — držač stanja koji je svjestan životnog ciklusa
VIEWMODEL holds UI-related state and logic, SURVIVING configuration changes:
→ state stored in a ViewModel SURVIVES screen rotation (the activity recreates, but the
ViewModel persists) → solves the lost-state-on-rotation problem
→ separates UI logic from the Activity/Fragment (the View just observes/displays)
