新的 Jetpack 数据存储仅适用于 Kotlin?

ser*_*nov 6 java android kotlin android-jetpack android-jetpack-datastore

我读过有关 Jetpack 的新库(现在处于 alpha 版本) - Jetpack Datastore

从文档中可以清楚地看出,这是一种Shared Preferences' killer

Jetpack DataStore 是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象

DataStore 使用 Kotlin 协程和 Flow 以异步、一致和事务方式存储数据

如果您当前使用 SharedPreferences 来存储数据,请考虑迁移到 DataStore

如果我没有遗漏任何内容,您将无法在 Java 中使用这个库。我对吗?我个人使用 Kotlin,但对我来说,这是 AndroidX 库的一个特殊先例。

ser*_*nov 3

2021 年 1 月 13 日

版本1.0.0-alpha06发布。添加了对 RxJava 2/3 的支持,因此现在可以在 Java 中使用 Datastore。

为 DataStore 添加了 RxJava 包装器。datastore-rxjava2/3 工件包含核心 DataStore API(RxDataStore、RxDataStoreBuilder 和 RxDataMigration)的包装器。datastore-preferences-rxjava2/3 工件包含一个用于构造 Preferences DataStore 的构建器。

为此,您应该添加依赖项:

// optional - RxJava2 support
implementation "androidx.datastore:datastore-rxjava2:1.0.0-alpha06"

// optional - RxJava3 support
implementation "androidx.datastore:datastore-rxjava3:1.0.0-alpha06"
Run Code Online (Sandbox Code Playgroud)

此外,现在Datastore 的官方文档包含 Java 的代码示例的等效项。