安卓基础组件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()

}

相关推荐
警醒与鞭策7 小时前
Codex桌面版与Claude桌面版使用设置
android·unity·ai·性能优化
传奇开心果9 小时前
【Compose Multiplatform跨端声明式UI实用技术】第19课:多平台部署与发布
android·kotlin
红尘伴蝶舞9 小时前
加密拦截器让抓包失效,我只能从 4KB 的 logcat 碎片里拼回 JSON
android·kotlin·ai编程
booboosui9 小时前
219 个还是 0 个:读不到微信界面时,我只加不删
android
Android打工仔10 小时前
Compose 中何时该用 padding,何时该用 offset
android·android jetpack
二流小码农10 小时前
HarmonyOS开发助手,0代码让元服务从开发到上架
android·ios·harmonyos
limit007510 小时前
三维 WebGIS 工具选型:加载、样式、分析、交付,一套界面能做完什么
android·前端·web3·安卓·webgl
骑着蜗牛撵大象32711 小时前
让 Codex 值夜班:把告警排查与巡检接成可回滚的自动化链路
android·java·运维·ai·自动化·codex·智能体
2401_8858850411 小时前
芬兰语音通知接口怎样对接?语音提醒接入流程
android·前端·python·php·语音识别
程序猿老A12 小时前
轻量应用服务器怎么用phpcms搭建网站?
android