Closed mcxinyu closed 1 year ago
是key
对于迁移过来的数据你依然可以使用单例对象+字段来读写, 前提是你使用了注解指定mmapID
(如果不使用注解会自动拼接类名)
这个处理方式我实际上认为不合适, 但是为了考虑兼容以前的数据我在2.0版本没有修改, 但是我现在计划删除自动拼接类名
这个处理方式
那可能是一个破坏性升级咯
是的, 但是我认为这样学习成本更低 且更简单吧?
如果现在就在使用注解的并不会破坏性
是的,key-value 关系更简单
建议可以增加一些过渡代码,例如增加一个依赖(2.0以下版本升级上来的可引入),来配置是否兼容 拼接类名
,然后查询的时候先查询 k-v 模式,测试不到 key 的时候再查询一次拼接的 key。
给其他用户的帮助,
导入的时候设定好 mmapID,例如 MMKV.mmkvWithID("AfixedString").importFromSharedPreferences(aSharedPreferences)
然后在单例对象上添加配置
@SerializeConfig(mmapID = "AfixedString")
object ThisIsAObject {
var abc: String by serial()
}
注意,abc 字段是之前已经在 aSharedPreferences 中存储的 key,如果不是,请使用 var abc: String by serial(name = "name")
。
请问
importFromSharedPreferences
导入配置后,怎么读取值呢?key 还是 config + keyName 么?