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)
}