~/talk

The New Modern Data Persistence on Android - Meet Jetpack Datastore

Talkat droidcon San Francisco 2023 · 2023-06-08..06-09· [android, databases]
slides:none on file

Explains why Jetpack DataStore replaces SharedPreferences by showing working code that writes and reads a Task object using preferences DataStore, a protobuf-backed proto DataStore with a generated serializer, and Kotlin coroutines and Flow for reactive reads. Shows dependency and Gradle plugin needs, migration snippets from SharedPreferences, a note about an M1 protobuf generation bug, and when to use DataStore vs Room. Claims: type safety, transactional consistency, and better performance for small key‑value or structured config data; proto handles versioning/schema evolution.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 3:43What is data persistence?
  3. 4:27Why Jetpack DataStore?
  4. 7:14Preferences vs Proto DataStore
  5. 9:00Implementing Preferences DataStore
  6. 13:16Writing to DataStore
  7. 14:41Reading from DataStore
  8. 16:11Observing DataStore changes
  9. 17:14Implementing Proto DataStore
  10. 20:50Writing and reading Proto DataStore
  11. 22:19DataStore vs SharedPreferences
  12. 23:26When to use Preferences vs Proto
  13. 24:31DataStore vs Room Database
  14. 28:01Migrating from SharedPreferences
  15. 31:34Summary and resources
  16. 34:52Q&A session
~/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.