Realm即时 KSerializer
RealmInstant 的KSerializer实现。 它被序列化为BsonDateTime ,以允许直接用于MongoDB函数调用,并被反序列化为非托管RealmInstant 。
警告:由于RealmInstant和BsonDateTime具有不同的精度,因此当纳秒被截断为毫秒时,序列化将失去精度。
必须按属性注册序列化器:
class Example : RealmObject {
@Serializable(RealmInstantKSerializer::class)
var myInstant: RealmInstant = RealmInstant.now()
}
内容已复制到剪贴板
或按文件:
@file:UseSerializers(RealmInstantKSerializer::class)
class Example : RealmObject {
var myInstant: RealmInstant = RealmInstant.now()
}
内容已复制到剪贴板
将以下代码片段添加到 Kotlin 文件中,可以方便地将使用 Realm 数据类型的任何字段注册到相应的序列化器:
@file:UseSerializers(
RealmListKSerializer::class,
RealmSetKSerializer::class,
RealmAnyKSerializer::class,
RealmInstantKSerializer::class,
MutableRealmIntKSerializer::class,
RealmUUIDKSerializer::class
)
内容已复制到剪贴板
所有 Realm 数据类型的序列化器都可以在io.realm.kotlin.serializers中找到。