Для Android разработчика есть привычные инструменты. Для связи View(UI) и ViewModel обычно используется livedata или flow. Обычно у viewmodel есть публичный поток данных, на который подписывается View через методы collectAsState и тд. В Harmony это реализовано немного иначе. Здесь расскажу, чем заменить. Переменные в View, которые содержат какое-то состояние помечаются различными декораторами. Для передачи данных между ViewModel и View можно использовать AppStorage и LocalStorage, они отличаются скоупом, который привязан к экрану или к всему приложению. Глобальную и локальную память. С глобальным скоупом проще, AppStorage можно сразу в каком-то месте получить в модели без инициализации и что-то передать. Но это хорошо, для глобальных каких-то вещей, единых для всех экранов. Для локальной памяти нужно создать сторадж и передать его во View декоратор Entry. Аннотации здесь называются декораторами. Entry - точка входа в навигации, это экран Component - View, аналог Composable @LocalStorag
Построение MVI, MVVM архитектуры на Arkts для Android разработчиков, замена flow и livedata
13 сентября 202413 сен 2024
35
1 мин