Kotlin中使用SharedPreferences保存及读取变量的最简方法(含Double示例)
嘿,我来帮你捋清楚这两个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
相关产品推荐
相关产品推荐

