Closed nEdAy closed 1 year ago
mmkv本身就支持全局配置
@liangjingkanji 没找到 API 呀,目前看只能对某个 by serial() 设置它使用的 kv 我的需求是 可针对一个类下 所有 by serial() 等字段 配置它使用的 kv(业务字段、加密密钥)这样
类似这样写? https://github.com/liangjingkanji/Serialize/commit/efc9b6afc9f3d043b9150a390b069ddd09834b8b
Serialize默认使用的MMKV.default()
, 你可以直接使用MMKV来加密. 如果只是针对某个类那这是不支持的(只能为每个字段配置MMKV对象)
已经计划提供Hook接口回调来配置加密/解密数据了 并且计划使用kotlin-serialization来序列化/反序列化来解决Parcelable/Serializable增删字段导致的一系列问题
2.0.0
版本已经支持实现SerializeHook
接口自定义序列化
现在支持全局配置mmkv
Serialize.mmkv = MMKV.defaultMMKV()
单例配置
@SerializeConfig(mmapID = "app_config") // 指定mmapID可以避免重命名当前类名或者改变包名导致无法读取旧值
object AppConfig {
var userId: String by serialLazy(name="user_id") // 指定name可以避免重命名当前字段导致无法读取旧值
}
现在支持全局配置mmkv
Serialize.mmkv = MMKV.defaultMMKV()
单例配置
@SerializeConfig(mmapID = "app_config") // 指定mmapID可以避免重命名当前类名或者改变包名导致无法读取旧值 object AppConfig { var userId: String by serialLazy(name="user_id") // 指定name可以避免重命名当前字段导致无法读取旧值 }
这应该是我需要的,感谢东哥
defaultMMKV(int mode, @Nullable String cryptKey)