~/talk

LiveData beyond VIewModels

links:none on file
links:none on file

LiveData and ViewModel become the wiring for a reactive UI: use state live data + actions as a simple state machine, apply Transformations.map/switchMap for derived streams, and expose one-off side effects with an EventLiveData to avoid duplicate replays. Concrete examples show a Tinder chat UI with GIF/Bitmoji buttons modeled as sub‑state machines, custom LiveData for button groups, and data binding to attach viewgroups — the pattern reduces monolithic presenters/ViewModels, survives config changes, and keeps UI code declarative and testable.

AI-written summary · about

  1. 0:00Introduction and speakers
  2. 1:10Complex UI hierarchy example
  3. 3:57Fragment communication challenges
  4. 5:21MVP limitations with complex UIs
  5. 7:29UI is intrinsically reactive
  6. 9:55ViewModel and LiveData basics
  7. 11:20LiveData as BehaviorSubject
  8. 13:26LiveData transformations
  9. 15:13UI as a reactive network
  10. 18:24State machines and UI states
  11. 22:41Implementing state machines in Kotlin
  12. 24:46Transmitting state updates with LiveData
  13. 27:33Handling side effects in ViewModel
  14. 29:38Tinder chat state example
  15. 33:29Sub-states and custom LiveData
  16. 35:58Benefits of state-based UI
  17. 37:01Taking the pattern further
  18. 39:09Custom LiveData and memory
  19. 40:52Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.