TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #583 3.15K
​​Миграция с SharedPreferences на Jetpack DataStore
#jetpack

Новая библиотека от Google призвана заменить уже давно знакомую библиотеку для хранения небольших данных — SharedPreferences.

Она существует в двух версиях: Preferences DataStore и Proto DataStore. Первая — даёт возможность хранить и получать доступ к данным по ключу, не требует предварительной схемы данных и не предоставляет type safety. Вторая — требует предварительную схему данных через protocol buffer, но при этом предоставляет type safety.

Почему же Google покусились на давно известную библиотеку? Главная проблема — это то, что при чтении данных из SharedPreferences необходимо открыть файл, где хранятся эти значения, и теоретически это может привести к ANR, если вызвать чтение из UI-потока.
Также в SharedPreferences нет type safety, что может привести к ошибкам во время работы приложения и крашам.

Jetpack DataStore избавилась от этих проблем, а также добавила возможность миграции данных, обработку повреждения данных и обработку ошибок при чтении.

В целом, пока эта библиотека в alpha-версии, поэтому стоит внимательно тащить её в основной проект. Уже есть обёртки для RxJava 2 и 3 версии, если вы используете эти библиотеки. Но если думаете мигрировать — вот краткий гайд, который расскажет, как это сделать. Выглядит достаточно просто, поэтому проблем быть не должно. 🤞🏻
More from @android_live
  1. Sep 29, 2026Post #1130
  2. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  3. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  4. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  5. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  6. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
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 →