SharedPreferencesHelper工具类

为安卓SharedPreferences存储提供的工具类,简化SharedPreferences的获取和存储。
该类的构造方法参数有两个(context: Context, domain: String = CONFIG)

  • context: activity上下文
  • domain: SharedPreferences存储的文件,默认名为“config”

该类所构建的SharedPreferences的模式默认为MODE_PRIVATE

示例:

向SharedPreferences中储存内容

// 在activity中调用
putToSharedPreferences { 
    put { 
        "token" - "123"
    }
    put(key, value)
    put("token", setOf(1,2,3))
}

put{ } 代码块不支持set<String>类型的参数,针对这种参数只能使用put(“token”, setOf(1,2,3)) 方法。

或者传统调用
SharedPreferencesHelper(this@IndexActivity).editHelper().put { 
	"token" - "123"
}.put(key, value)
.put("token", setOf(1,2,3))
.commit()

put方法会抛出ClassNotSupportedException异常,如果存放的value超出所支持的类型的话。

从SharedPreferences获取参数

方法参数( key: String, defValue: String, domain: String)

  • key: 获取的键
  • defValue: 若没有取到该key的值返回的默认值,可选参数,默认值为“”
  • domain: 域,相当于SharedPreferences构造方法的name,表示在哪里取值
// 在Activity内调用
// 获取字符串
val token = getStringFromSharedPreferences(Constant.TOKEN)
// 相似的还有
getStringSetFromSharedPreferences()
getBooleanFromSharedPreferences()
getLongFromSharedPreferences()
getIntFromSharedPreferences()
getFloatFromSharedPreferences()
对一次获取比较多的参数的对象提供这种调用
getFromSharedPreferences { 
	getString()
    getBoolean()
    getFloat()
    getInt()
    getLong()
    getStringSet()
}
当然可以采用原始构造方法调用(不推荐)
SharedPreferencesHelper(applicationContext).getString()
SharedPreferencesHelper(applicationContext).getBoolean()
SharedPreferencesHelper(applicationContext).getFloat()
SharedPreferencesHelper(applicationContext).getInt()
SharedPreferencesHelper(applicationContext).getLong()
SharedPreferencesHelper(applicationContext).getStringSet()

源码看这里https://gist.github.com/ChangJiahong/8d349b358cb43ae9f3b54317ba44b028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值