~/talk

Clean, Easy & Stable Android Architecture

Talkat Devoxx Belgium 2017 · 2017-11-06..11-10· [android]
slides:none on file

A simple Jelly Bean recipe app demonstrates a three-layer architecture (presentation/domain/data) with concrete choices: ViewModel objects hold UI state, LiveData provides lifecycle-aware observers to avoid leaks, and Room + DAOs give a compile-time-checked local SQL store. A Firebase client plus a cache and repository layer show swapping backends without changing UI code. Use-case interactors convert view models to data models and persist them; the demo app saves and restores jellybeans across rotations and works end to end.

AI-written summary · about

  1. 0:00Intro
  2. 0:26Britts background
  3. 1:17Who is Britt
  4. 2:19When everything is changes
  5. 2:46My first startup
  6. 3:55William Shakespeare
  7. 4:58What makes sense for me
  8. 6:14Goals
  9. 8:22Architecture Components
  10. 9:06Personal Question
  11. 10:45Three Layers
  12. 11:38Example
  13. 12:06Presentation Layer
  14. 12:27View Model
  15. 13:13Set View Model
  16. 13:28View Model State
  17. 14:31Update View Model
  18. 15:16Live Data
  19. 16:24Live Data Object
  20. 17:06Observer
  21. 17:35ViewModel
  22. 19:54ViewModelProvider
  23. 20:41Multiple View Models
  24. 21:15Save Jelly Bean
  25. 21:25Data Layer
  26. 22:22Data Model
  27. 23:07Repository
  28. 24:02Jellybean
  29. 24:38Firebase
  30. 25:25Interactors
  31. 25:49Use Cases
  32. 26:03Business Logic
  33. 26:35Jelly Bean
  34. 27:44Layer Interaction
  35. 28:15Reuse Interactions
  36. 28:56Domain Layer
  37. 29:35Room
  38. 31:12Entity
  39. 31:45Dowel
  40. 32:00DAO
  41. 32:29SQL
  42. 32:39Database Instance
  43. 34:28Notifications
  44. 36:24Conclusion
  45. 36:41Questions
~/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.