android ——MMKV保存bean实体对象、保存数组bean

2024-05-10 19:04

本文主要是介绍android ——MMKV保存bean实体对象、保存数组bean,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MMKV简介

MMKV是一款基于 mmap 内存映射的 key-value 存储库,专门为移动端开发设计。相比于传统的SharedPreferences和SQLite等存储方式,MMKV具有更快的读写速度和更小的存储空间占用。同时,MMKV还提供了多线程安全的支持和可配置的加密选项。因此,在移动端开发中,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 {@JvmFieldval CREATOR = Parcelable.Creator<MyBean> { parcel ->MyBean(parcel.readString()!!, parcel.readInt())}}
}

二、MMKV保存数组bean

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

import com.tencent.mmkv.MMKVdata class MyBean(val name: String, val age: Int)fun main() {val mmkv = MMKV.defaultMMKV()// 保存数组beanval myBeans = listOf(MyBean("张三", 20), MyBean("李四", 25))val jsonString = Gson().toJson(myBeans)mmkv.encode("myBeans", jsonString)// 读取数组beanval savedJsonString = mmkv.decodeString("myBeans")val savedMyBeans = Gson().fromJson(savedJsonString, Array<MyBean>::class.java).toList()println(savedMyBeans)
}

这篇关于android ——MMKV保存bean实体对象、保存数组bean的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977288

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定