TGViewer
Антоха Разраб про AI Антоха Разраб про AI @androidraft · 391 subscribers
Post #7 161
https://proandroiddev.com/android-proto-datastore-should-you-use-it-36ae997d00f2
https://proandroiddev.com/testing-proto-datastore-63580efbf5fc
Proto DataStore - это замена SharedPreferences, позволяющая сохранять объекты и обеспечивающая типовую безопасность.
Тестирование Proto DataStore плохо документировано, и руководство по тестированию Preferences DataStore имеет ограниченное сходство.
Для тестирования Proto DataStore необходимо создать экземпляр с использованием DataStoreFactory.create, передавая класс сериализатора и лямбда-метод для создания файла.
Тестирование включает создание потока для Proto DataStore, использование класса репозитория для взаимодействия с ним и проверку ожидаемых результатов.
При тестировании нескольких тестов может возникнуть проблема утечки DataStore, которую можно решить, удалив и создав DataStore для каждого тестового случая.
Proto DataStore использует Protocol Buffers для сериализации структурированных данных, которые являются независимыми от языка и обеспечивают механизм определения типов данных.
Для использования Proto DataStore добавьте необходимые зависимости, создайте каталог proto, определите файл .proto и постройте проект для генерации классов данных.
После определения объектов данных создайте класс сериализатора, чтобы сообщить DataStore, как читать/писать объекты.
Создайте экземпляр DataStore, используя делегата свойств, который требует имя файла и класс сериализатора.
Взаимодействуйте с DataStore, используя Flow, который предоставляет доступ к свойствам, определенным в DataStore.

Интересные моменты:
Proto DataStore позволяет сохранять объекты, обеспечивая типовую безопасность, в отличие от SharedPreferences.
Руководство по тестированию Proto DataStore неполное, а руководство по тестированию Preferences DataStore имеет ограниченное сходство.
Удаление и повторное создание DataStore для каждого тестового случая разрешает проблему утечки DataStore во время тестирования.
Protocol Buffers являются независимыми от языка и предоставляют механизм определения типов данных.
Medium Android Proto DataStore - Should You Use It? Data Is Everything
More from @androidraft
  1. Sep 29, 2026Нейрослопный привет! https://www.youtube.com/watch?v=7-WTlSZ-qVI Мне тут друзья показали ч…
  2. Sep 25, 2026Забыл, что стоило написать что я сделал: 👉 Начал с персонального сайта: https://lamprof.c…
  3. Sep 23, 2026Удивительно, я запихивался в AI выдачу со своим сайтом/резюме очень активно и это наканецт…
  4. Sep 21, 2026Post #201
  5. Sep 19, 2026Post #200
  6. Sep 18, 2026Post #199
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 →