1、gradle中加入依赖:
implementation 'com.tencent:mmkv-static:1.2.7'
2、application中初始化:
MMKV.initialize(this)
3、写入和读取:
var kv = MMKV.defaultMMKV();
kv?.encode("bool", true)
var bValue = kv?.decodeBool("bool");
LoggerUtils.i(TAG, bValue.toString())
kv?.encode("int", Integer.MIN_VALUE);
var iValue = kv?.decodeInt("int");
LoggerUtils.i(TAG, iValue.toString())
kv?.encode("string", "Hello from mmkv");
var str = kv?.decodeString("string");
LoggerUtils.i(TAG, str)
4、删除:
var kv = MMKV.defaultMMKV()
kv?.removeValueForKey("bool")
kv?.removeValuesForKeys(arrayOf("int", "long"))
kv?.clearAll()
var hasBool = kv?.containsKey("bool")
5、不同业务需分别别存储
var mmkv = MMKV.mmkvWithID("MyID");
mmkv?.encode("bool", true);
6、自定义根目录
val dir = filesDir.absolutePath + "/mmkv_2"
val rootDir = MMKV.initialize(dir)
LoggerUtils.i(TAG, "mmkv root: $rootDir")
7、自定义某个文件的目录
val relativePath = filesDir.absolutePath + "/mmkv_3"
val kv = MMKV.mmkvWithID("testCustomDir", relativePath)
8、sharepreference
private fun testImportSharedPreferences() {
//SharedPreferences preferences = getSharedPreferences("myData", MODE_PRIVATE);
val preferences = MMKV.mmkvWithID("myData")
// 迁移旧数据
run {
val old_man =
getSharedPreferences("myData", Context.MODE_PRIVATE)
preferences!!.importFromSharedPreferences(old_man)
old_man.edit().clear().commit()
}
// 跟以前用法一样
val editor = preferences!!.edit()
editor.putBoolean("bool", true)
editor.putInt("int", Int.MIN_VALUE)
editor.putLong("long", Long.MAX_VALUE)
editor.putFloat("float", -3.14f)
editor.putString("string", "hello, imported")
val set = HashSet<String>()
set.add("W")
set.add("e")
set.add("C")
set.add("h")
set.add("a")
set.add("t")
editor.putStringSet("string-set", set)
// 无需调用 commit()
//editor.commit();
}
本文档详细介绍了如何在Android项目中使用MMKV轻量级高性能的存储库进行数据存储。主要内容包括:如何通过Gradle引入MMKV依赖,初始化MMKV,以及基本的读写操作。此外还提供了自定义存储路径的方法,以及从SharedPreferences迁移数据的示例。

8335

被折叠的 条评论
为什么被折叠?



