Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#Jetpack #DataStore #SharedPreferences

Prefer Storing Data with Jetpack DataStore

Всему суждено пасть. AsyncTask уже стали deprecated, UI на основе View будет заменен Compose. Вот и SharedPreferences будет замене новой библиотекой DataStore, разработанной на Kotlin и работающей на основе Coroutines.

Новая библиотека решена всех проблем SharedPreferences:
👉 Полностью асинхронное
👉 Уведомление об ошибках
👉 Транзакционное выполнение
👉 Поддержка миграции с SharedPreferences в DataStore
👉 Возможность работы как "Key-Value" так и хранилище объектов на основе Protobuf

В статье найдете примеры использования DataStore и миграции с SharedPreferences

Важно: DataStore не является заменой Room
#Jetpack #Datastore #SharedPreferences

Сравнение SharedPreferences и новой DataStore
#Jetpack #DataStore

Securing Android’s DataStore

Замена SharedPreferences - DataStore, уже близка к релиз, но в ней есть существенный минус - отсутствие шифрования, что не соответствует общим трендам безопасности данных.

Автор приводит способ сериализации данных (GSON, Kotlinx Serialization) в котором проводит шифрования отдельно и сохраняет/восстанавливает полученный результат
#Jetpack #DataStore #MADSkills

All about Preferences DataStore (6 мин)
📺 Видео версия (8 мин)

Продолжение серии статей/видео про Jetpack DataStore. В новой части рассказывается про работу с Preferences.
🔥15👍5💩3
#datastore #jetpack #proto

All about Proto DataStore (9 мин)
📺 Видео версия (12 мин)

Рассказ про реализацию DataStore, которая позволяет сохранить объекты, адаптированные поддерживают Protocol Buffer.
🤯4
#MADSkills #Jetpack #DataStore

Серия MADSkills по Jetpack DataStore

В новой серии MADSkills рассказывают про альтернативу SharedPreferences - DataStore. Что рассказывают:
👉 All about Preferences DataStore
👉 All about Proto DataStore
👉 DataStore and dependency injection
👉 DataStore and Kotlin serialization
👉 DataStore and synchronous work

На YouTube можно найти видео версию
👍25👎1
Ускорение работы в DataStore 1.1.2

Считывания первого закэшированного в памяти элемента в среднем ускорили в 8 раз 🤯

#android #datastore #jetpack #jetpackupdate
👍62🤯281
🚀 Вышла стабильная версия Jetpack DataStore 1.2

Google выпустила долгожданный стабильный релиз DataStore 1.2.0. Эта версия приносит несколько важных улучшений, которые делают библиотеку ещё более мощной и удобной, особенно для проектов, не полностью перешедших на Kotlin Coroutines.

Ключевые нововведения:

Поддержка Guava
Появился новый модуль datastore-guava, который предоставляет API на основе ListenableFuture для разработчиков, использующих Guava. Теперь подключать DataStore в проекты на Java стало намного проще (а нужно было???)

// Пример использования GuavaDataStore
val guavaDataStore: DataStore<Preferences> = GuavaDataStore.from(
produceFile = { context.preferencesDataStoreFile("settings.pb") },
serializer = PreferencesSerializer,
executor = Dispatchers.IO.asExecutor() // Используем Executor
)

ListenableFuture<Preferences> future = guavaDataStore.getData();


Мультипроцессность для GuavaDataStore
Функциональность многопроцессного доступа, ранее доступная для Kotlin-версии, теперь добавлена и в GuavaDataStore.

Поддержка Android Direct Boot - работа приложений до разблокировки устройства
DataStore теперь можно безопасно использовать в режиме Direct Boot. Для этого данные нужно разместить в защищённом хранилище устройства (Device Protected Storage).

val directBootDataStore = DataStoreFactory.createInDeviceProtectedStorage(
serializer = PreferencesSerializer
) { context.preferencesDataStoreFile("direct_boot_settings.pb") }


Исправления важных багов
👉 Устранен UnsatisifedLinkError при использовании R8 без стандартного ProGuard-файла.
👉 Исправлена проблема, из-за которой операции GuavaDataStore могли запускаться на главном потоке вместо указанного IO-диспетчера.
👉 Решена проблема с FileNotFoundException в OkioStorage при одновременном обращении к файлу (добавлена вторая попытка чтения).

Прочие улучшения
👉 Добавлен PreferencesFileSerializer — готовый сериализатор для работы с FileStorage.

#Android #Jetpack #DataStore #Kotlin #Java #Guava
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5