Kotlin SharedPreferences最佳实现

本文介绍了Android中SharedPreferences的使用,强调了其一致性保证但可能影响性能的问题。此外,文章详细阐述了如何在Kotlin中对SharedPreferences进行封装,利用委托属性简化存取操作,并展示了封装后的使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于

用于访问和修改返回的首选项数据的接口Context.getSharedPreferences(String, int)。对于任何特定的首选项集,所有客户端共享此类的单个实例。对首选项的修改必须通过SharedPreferences.Editor对象来确保首选项值保持一致状态并在提交存储时进行控制。从各种get方法返回的对象必须被应用程序视为不可变。

注意:此类提供强大的一致性保证。它使用昂贵的操作可能会减慢应用程序的速度。经常改变可以容忍损失的属性或属性应该使用其他机制。有关详细信息读取上的评论 SharedPreferences.Editor.commit()SharedPreferences.Editor.apply()

注意:此类不支持跨多个进程使用。

概括

嵌套类:

接口 方法 注释
interface SharedPreferences.Editor 用于修改SharedPreferences 对象中的值的接口。
interface SharedPreferences.OnSharedPreferenceChangeListener 更改共享首选项时要调用的回调的接口定义。

公共方法:

返回值 函数名
abstract boolean contains(String key)
检查Preferences中是否包含此key
abstract SharedPreferences.Editor edit()
为这些首选项创建一个新的编辑器,通过该编辑器可以对首选项中的数据进行修改,并将这些更改原子地提交回SharedPreferences对象。
abstract Map getAll()
从首选项中检索所有值。
abstract boolean getBoolean(String key, boolean defValue)
从首选项中检索布尔值。
abstract float getFloat(String key, float defValue)
从首选项中检索浮点值。
abstract int getInt(String key, int defValue)
从首选项中检索int值。
abstract long getLong(String key, long defValue)
从首选项中检索长值。
abstract String getString(String key, String defValue)
从首选项中检索String值。
abstract Set getStringSet(String key, Set defValues)
从首选项中检索一组String值。
abstract void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
注册在首选项发生更改时调用的回调。
abstract void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
取消注册先前的回调。

https://developer.android.com/reference/android/content/SharedPreferences

kotlin中对SharedPreferences的封装

封装类:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值