kotlin 封装MMKV存储List
时间: 2023-08-27 07:07:01 浏览: 200
kotlin实现的ListView
可以通过以下步骤来封装Kotlin中的MMKV存储List:
1. 首先,添加MMKV库的依赖:
```groovy
implementation 'com.tencent:mmkv-static:1.2.10'
```
2. 创建一个单例类来管理MMKV实例:
```kotlin
object MMKVManager {
private val kv by lazy { MMKV.defaultMMKV() }
fun getString(key: String, defaultValue: String = ""): String {
return kv.decodeString(key, defaultValue) ?: ""
}
fun putString(key: String, value: String) {
kv.encode(key, value)
}
//添加其他类型的操作方法
}
```
3. 定义一个扩展函数来封装List的存储和获取:
```kotlin
inline fun <reified T> MMKV.getList(key: String, defaultValue: List<T> = emptyList()): List<T> {
val json = getString(key)
return if (json.isEmpty()) {
defaultValue
} else {
Gson().fromJson(json, object : TypeToken<List<T>>() {}.type)
}
}
inline fun <reified T> MMKV.putList(key: String, value: List<T>) {
putString(key, Gson().toJson(value))
}
```
4. 现在,你就可以使用以下代码来存储和获取List了:
```kotlin
val list = listOf("apple", "banana", "orange")
MMKV.defaultMMKV().putList("fruits", list)
val savedList = MMKV.defaultMMKV().getList<String>("fruits")
```
以上就是使用Kotlin封装MMKV存储List的简单步骤。
阅读全文