外观
键值存储 ...common.data.PluginKv
读 5 个 / 写 6 个 / 管理 3 个,全部方法:
SQLite 键值(plugin_kv 表),取代 SharedPreferences——不受 1MB 限制、事务写入、多进程稳。不要用 SharedPreferences
kotlin
import com.hualuo.zhinian.box.common.data.PluginKv
// 库名约定 = 插件包名
private const val DB = "com.zhinian.plugin.what2eat"
// 读:全部类型以字符串落库,按类型解析,失败回默认值
PluginKv.getString(context, DB, "options") // String?,def 参数可选
PluginKv.getBoolean(context, DB, "first_run", true)
PluginKv.getInt(context, DB, "launch_count", 0)
PluginKv.getLong(context, DB, "last_ts", 0L)
PluginKv.getFloat(context, DB, "ratio", 1.0f)
// 写(put 系列全部即时生效,内部走事务)
PluginKv.put(context, DB, "options", "火锅,烧烤,麻辣烫")
PluginKv.putBoolean(context, DB, "first_run", false)
PluginKv.putInt(context, DB, "launch_count", 3)
PluginKv.putAll(context, DB, mapOf("a" to "1", "b" to null)) // 批量,null = 删
// 管理
PluginKv.remove(context, DB, "key")
PluginKv.contains(context, DB, "key"): Boolean
PluginKv.clear(context, DB) // 清空本插件全部键值