tgoop.com/android_live/583
Last Update:
Миграция с 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 версии, если вы используете эти библиотеки. Но если думаете мигрировать — вот краткий гайд, который расскажет, как это сделать. Выглядит достаточно просто, поэтому проблем быть не должно. 🤞🏻
BY Android Live 🤖

Share with your friend now:
tgoop.com/android_live/583