
DataStore — компонент из набора Android Jetpack, предназначенный для локального хранения данных приложения: пользовательских настроек, токенов, флагов и других предпочтений. Он пришёл на смену SharedPreferences: работает асинхронно с использованием корутин и Flow, не блокирует главный поток, а в варианте Proto предоставляет типизированную схему вместо набора строковых ключей.
Показано 2 программы


| Программа | Школа | Срок | Стоимость |
|---|---|---|---|
| Android-разработчик | Эдюсон | 6 месяцев | 133 900 ₽ вместо 334 750 ₽ |
| Android-разработчик с нуля | Merion | 4 месяца | 19 890 ₽ вместо 30 600 ₽ |
На рынке нет отдельных курсов, посвящённых только DataStore. Эту библиотеку изучают в рамках программ по Android-разработке, в разделе о работе с данными, вместе с Room и сетевым слоем. В подборке представлено 2 курса, где эта тема включена в учебный план. Цены варьируются от 19 890 ₽ до 133 900 ₽.
Если требуется освоить мобильную разработку в целом, а не отдельную библиотеку, стоит обратить внимание на курсы Android-разработчиков: там программы полного цикла — от Kotlin до публикации в сторе.
У SharedPreferences давняя проблема: чтение и запись данных выполняются синхронно в главном потоке, что в неудачный момент может вызвать задержки в интерфейсе. К тому же отсутствует обработка ошибок — если файл повреждён, приложение просто падает.
DataStore работает иначе. Данные предоставляются в виде Flow, запись происходит в корутине, а ошибки передаются как обычные исключения, которые можно перехватить. Существует два варианта. Preferences DataStore хранит пары «ключ-значение», как и предшественник, и подходит для небольших настроек: тема оформления, флаг «онбординг пройден», выбранный город. Proto DataStore описывает данные с помощью схемы на protobuf и проверяет типы на этапе компиляции, поэтому его выбирают, когда объект сложнее пары полей.
Обычно этой теме не выделяют отдельный блок: она возникает, когда студент доходит до хранения состояния приложения. В двух курсах из этой подборки её проходят в связке с Room, репозиториями и внедрением зависимостей, сразу в контексте архитектуры.
В практической части обычно выполняются такие действия: подключается зависимость, создаётся Preferences DataStore для настроек экрана, данные читаются через Flow в ViewModel, добавляется миграция со SharedPreferences в существующем проекте и разбирается, почему на один файл должен приходиться ровно один экземпляр DataStore. Затем по программе идёт Proto-вариант с собственной .proto-схемой и сериализатором.
Оплата идёт за весь курс по Android-разработке, а не за отдельный модуль: от 19 890 ₽ до 133 900 ₽, медиана — 76 895 ₽. Разница в цене объясняется форматом: короткая программа даёт основы языка и базовый набор библиотек, длинная ведёт к трудоустройству и включает проверку домашних заданий и дипломное приложение.
Отдельно платить за DataStore не нужно и негде. Если задача узкая, например обновить один экран в рабочем проекте, быстрее обратиться к официальной документации Android, где есть рабочие примеры на Kotlin. Курс имеет смысл, когда требуется освоить всю разработку мобильных приложений, а не одну библиотеку.
