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

}

相关推荐
恋猫de小郭3 小时前
Fluttercon EU 2025 :Let‘s go far with Flutter
android·开发语言·flutter·ios·golang
Andytoms7 小时前
Android geckoview 集成,JS交互,官方demo
android·javascript·交互
2501_915909069 小时前
iOS 抓包工具有哪些?实战对比、场景分工与开发者排查流程
android·开发语言·ios·小程序·uni-app·php·iphone
锋风10 小时前
基于Binder的4种RPC调用
android
行墨11 小时前
CoordinatorLayout基本使用与分析—— Group 批量控制
android
行墨12 小时前
CoordinatorLayout基本使用与分析——水平偏移(Horizontal Bias)
android
私房菜12 小时前
Android dmabuf_dump 命令详解
android·libdmabufinfo·linmeminfo·dmabuf_dump
爱学啊12 小时前
1.Android Compose 基础系列:您的第一个 Kotlin 程序
android·kotlin·jetpack
maki07714 小时前
虚幻版Pico大空间VR入门教程 01 ——UE5 Android打包环境4.26~5.6
android·ue5·vr·虚幻·pico·大空间