MMKV 和Gson 实现对象数据的存取
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MMKV 和Gson 实现对象数据的存取相关的知识,希望对你有一定的参考价值。
package co.haive.lib.common.util
import com.google.gson.Gson
import com.google.gson.JsonParser
import com.tencent.mmkv.MMKV
object MMKVUtils
/**
* mmkv 存储对象
*/
fun put(key: String, obj: Any)
MMKV.defaultMMKV().encode(key, Gson().toJson(obj))
/**
* mmkv 取出对象
*/
inline fun <reified T> get(key: String): T?
val json = MMKV.defaultMMKV().decodeString(key)
return Gson().fromJson(json, T::class.java)
/**
* mmkv 取出List对象
*/
inline fun <reified T> getList(key: String): List<T>
val json = MMKV.defaultMMKV().decodeString(key)
return getObjectList(json, T::class.java)
fun <T> getObjectList(jsonString: String?, cls: Class<T>?): List<T>
val list: MutableList<T> = ArrayList()
try
val gson = Gson()
val arry = JsonParser.parseString(jsonString).asJsonArray
for (jsonElement in arry)
list.add(gson.fromJson(jsonElement, cls))
catch (e: Exception)
e.printStackTrace()
return list
以上是关于MMKV 和Gson 实现对象数据的存取的主要内容,如果未能解决你的问题,请参考以下文章
Android MVVM框架搭建MMKV + Room + RxJava2
Android MVVM框架搭建MMKV + Room + RxJava2