TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.17K subscribers
Post #4369 359
Погружение в One‑Time Events в Android

Представьте, перед вами задача — после авторизации пользователя навигировать его на главный экран, или показать snackbar, например, об ошибке.

В Android для таких событий есть специальное название — One‑Time Events, или же просто Effects — события, которые мы отправляем UI из ViewModel и хотим, чтобы они обработались ровно один раз.

И они отличаются от состояния экрана! Состояние существует всегда, а effect отправляется и обрабатывается единожды; в состоянии существуют данные, с которыми user взаимодействует, или которые повторно могут отображаться на экране, когда как effect — совершенно противоположное.

Моделировать такой паттерн можно несколькими способами: через состояние, SharedFlow или Channel. В этой статье мы разберем на простом примере каждый подход и обсудим минусы и плюсы, а также обсудим лучшее обходное решение!

Статья: https://habr.com/ru/articles/1067070/
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
More from @applib
  1. Oct 8, 2026Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет Начиналось всё как не…
  2. Oct 8, 2026Redlamp - фото-редактор для Mac, iPad и iPhone Нативный RAW фото-редактор с открытым исход…
  3. Oct 8, 2026Экран перестал обновляться, и виноват оказался не ваш код Экран получил первое состояние и…
  4. Oct 7, 2026Pitch Kit - настройка гитары и распознавание аккордов Современная и удобная в использовани…
  5. Oct 6, 2026Визуализация данных с помощью шестиугольной тепловой карты в Swift Charts При создании гра…
  6. Oct 6, 2026Правда о Coil в Jetpack Compose: измеряем реальный оверхед SubcomposeAsyncImage Взял пять…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →