Komponenty architektury Android (część biblioteki Jetpack) to biblioteki, które pomagają w budowaniu solidnych, łatwych do utrzymania aplikacji — obejmujące ViewModel (stan świadomy cyklu życia), LiveData/StateFlow (dane obserwowalne) i Room (abstrakcję bazy danych). Wspierają one rekomendowane wzorce architektoniczne.
ViewModel — stan świadomy cyklu życia
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)
