MMKV简介

添加依赖

implementation 'com.tencent:mmkv:1.2.9'

一、MMKV保存bean实体对象

1.在Kotlin类中定义一个MMKV实例:

import com.tencent.mmkv.MMKV
val mmkv = MMKV.defaultMMKV()

2.你可以通过以下方式将Bean对象保存到MMKV中:

val bean = MyBean("John", 25)

mmkv.encode("myBean", bean)

 3.要从MMKV中读取Bean对象,可以使用以下代码:

val bean = mmkv.decodeParcelable("myBean", MyBean::class.java)

 注意,使用MMKV保存和读取Bean对象时,需要确保该对象实现了Parcelable接口,并且注册了MMKV的支持。你可以通过以下方式实现:

import android.os.Parcelable
import kotlinx.android.parcel.Parcelize

@Parcelize
data class MyBean(val name: String, val age: Int) : Parcelable {
    companion object {
        @JvmField
        val CREATOR = Parcelable.Creator<MyBean> { parcel ->
            MyBean(parcel.readString()!!, parcel.readInt())
        }
    }
}

二、MMKV保存数组bean

MMKV保存数组bean的示例代码为:

import com.tencent.mmkv.MMKV

data class MyBean(val name: String, val age: Int)

fun main() {
    val mmkv = MMKV.defaultMMKV()

    // 保存数组bean
    val myBeans = listOf(MyBean("张三", 20), MyBean("李四", 25))
    val jsonString = Gson().toJson(myBeans)
    mmkv.encode("myBeans", jsonString)

    // 读取数组bean
    val savedJsonString = mmkv.decodeString("myBeans")
    val savedMyBeans = Gson().fromJson(savedJsonString, Array<MyBean>::class.java).toList()
    println(savedMyBeans)
}
05-11 16:15