安卓基础组件023-SharedPerferences

文章目录

sp介绍

是否第一次启动应用

是否同意隐私协议

初始化sp

class spDemoActivity : AppCompactActivity{

private lateinit var sp: SharedPreferences

// 在 onCreate 里面初始化

override fun onCreate(saveInstanceState:BUndle?){

// 其他自动生成的代码

sp getSharedPerferences("sp_demo",MODE_PRIVATE)

}

}

存储

val editor = sp.edit()

editor.putString("name","zhangsan")

editor.putInt("age",18)

editor.apply()

读取数据

val name = sp.getString("name","defaultValue")

val age = sp.getIn("age",0)

自动apply

sp.edit{

editor.putString("name","zhangsan")

editor.putInt("age",18)

}

存储复杂数据类型

gson 添加依赖

在 build.gradle.kts app 级别里面

implementtation("com.google.code.gson:gson:2.12.1")

使用

Gson().toJson(Person("zhangsan",18))

Gson().fromJson(str,Person::class.java)

将字符串转换为list

val list = listOf(

Person(),

Person(),

Person()

)

sp.edit{

putString("personList",Gson().toJson(list))

}

val str = sp.getString("personList)

val list = Gson().fromJson(str,Array::class.java).toList()

移除数据

sp.edt{

remove("name")

}

移除全部数据

sp.edt{

clear()

}

相关推荐
峥嵘life2 分钟前
Android getprop 属性限制详解:User 版本属性获取问题分析
android·开发语言·python·学习
一航jason1 小时前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·插件化·组件化·换肤
李斯维2 小时前
Jetpack 可观察数据容器 LiveData 的入门与基础使用
android·android jetpack
问心无愧05133 小时前
ctf show web入门261
android·前端·笔记
alexhilton3 小时前
车载系统中的可扩展UI:从UI嵌入到系统窗口编排
android·kotlin·android jetpack
Cloud_Shy6183 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第一章 Item 4 - 6)
android·数据库·论文阅读·python
therese_100863 小时前
安卓面试题
android
码云骑士3 小时前
Android Launcher启动过程
android
Java面试题总结4 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
android·数据库·mysql
_李小白5 小时前
【android opencv学习笔记】Day 30: 滤波算法之拉普拉斯算子
android·opencv·学习