UserData

abstract class UserData<T>(val path: String)

用户数据抽象基类 提供对单条用户数据的读写和监听能力

Since

Api 2

Parameters

path

用户数据的完整路径字符串(如"reader.fontSize")

Type Parameters

T

该用户数据存储的值类型

Inheritors

Constructors

Link copied to clipboard
constructor(path: String)

Properties

Link copied to clipboard

该条数据所属的组路径

Link copied to clipboard
open val path: String

Functions

Link copied to clipboard
fun asynchronousSet(value: T)

异步写入用户数据 内部会在IO协程中执行set

Link copied to clipboard
abstract fun get(): T?

读取用户数据 此函数为阻塞函数, 请务必不要在初始化阶段或主线程上调用

Link copied to clipboard
abstract fun getFlow(): Flow<T?>

获取用户数据的可观测流

Link copied to clipboard
fun getFlowWithDefault(default: T): Flow<T>

获取用户数据的可观测流, 并提供默认值

Link copied to clipboard
fun getOrDefault(default: T): T

读取用户数据, 如果未设置则返回默认值 此函数为阻塞函数, 请务必不要在初始化阶段或主线程上调用

Link copied to clipboard
abstract fun set(value: T)

写入用户数据 此函数为阻塞函数, 请务必不要在初始化阶段或主线程上调用

Link copied to clipboard
fun update(updater: (T) -> T, default: T)

读取并修改用户数据 此函数为阻塞函数, 请务必不要在初始化阶段或主线程上调用