You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中使用SharedPreferences保存及读取变量的最简方法(含Double示例)

嘿,我来帮你捋清楚这两个Kotlin里SharedPreferences的使用问题,都是最简实现,直接上干货~

1. Kotlin中使用SharedPreferences保存变量的最简方式

其实Kotlin里用SharedPreferences保存变量非常直观,核心就是三步:获取实例、编辑、提交。其中用apply()是异步提交,不会阻塞主线程,是日常开发里最常用的最简方式。

举个保存字符串的例子:

// 获取SharedPreferences实例,"MyPrefs"是你的文件名,MODE_PRIVATE表示只有当前应用能访问
val prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
// 编辑并保存变量
prefs.edit()
    .putString("username", "JohnDoe") // 这里替换成你要保存的变量类型和键值
    .apply() // 异步提交,无需等待结果

如果是保存Int、Boolean这类基础类型,把putString换成对应的putInt、putBoolean就行,逻辑完全一致。

2. Kotlin中保存并读取Double类型变量score(值12.5)的最简方式

这里要注意:SharedPreferences原生没有直接支持Double类型的存取方法,所以最简的方案是把Double转成Long类型(利用Double的toBits()方法,把二进制位转成Long),读取的时候再转回来。这种方式不用依赖第三方库,也不用存成字符串转来转去,效率更高。

保存score(12.5)的代码:

val prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
val score = 12.5
prefs.edit()
    .putLong("score", score.toBits())
    .apply()

读取score的代码:

val prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
// 第二个参数是默认值,这里用0.0的二进制位作为默认
val savedScore = Double.fromBits(prefs.getLong("score", 0.0.toBits()))
// 现在savedScore就是之前保存的12.5啦

要是你觉得转Long有点麻烦,也可以把Double转成String保存,读取的时候再转成Double,但这种方式在精度要求高的场景下可能有风险,所以更推荐用转Long的方法。


内容的提问来源于stack exchange,提问作者Adel gamer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 17:42:47