Kotlin SharedPreferences扩展函数

SharedPreferences 快速存数据
/**
 * SharedPreferences保存数据
 * @param name SharedPreferences 文件名
 * @param block 放数据
 */
fun Context.putInSP(name: String, block: (SharedPreferences.Editor.() -> Unit)) {
    getSharedPreferences(name, Context.MODE_PRIVATE).edit()?.apply {
        block()
        apply()
    }
}
SharedPreferences 快速取数据
fun Context.getStringFromSP(name: String, key: String, default: String = "") =
    getSharedPreferences(name, Context.MODE_PRIVATE).getString(key, default)

fun Context.getBooleanFromSP(name: String, key: String, default: Boolean = false) =
    getSharedPreferences(name, Context.MODE_PRIVATE).getBoolean(key, default)

fun Context.getFloatFromSP(name: String, key: String, default: Float = 0f) =
    getSharedPreferences(name, Context.MODE_PRIVATE).getFloat(key, default)

fun Context.getIntFromSP(name: String, key: String, default: Int = 0) =
    getSharedPreferences(name, Context.MODE_PRIVATE).getInt(key, default)

fun Context.getLongFromSP(name: String, key: String, default: Long = 0) =
    getSharedPreferences(name, Context.MODE_PRIVATE).getLong(key, default)

fun Context.getStringSetFromSP(
    name: String,
    key: String,
    default: Set<String>? = null
): Set<String>? =
    getSharedPreferences(name, Context.MODE_PRIVATE).getStringSet(key, default)

fun Context.getAllFromSP(name: String): MutableMap<String, *> =
    getSharedPreferences(name, Context.MODE_PRIVATE).all
SharedPreferences 清空数据
/**
 * 清空SharedPreferences
 */
fun Context.clearSP(name: String) {
    getSharedPreferences(name, Context.MODE_PRIVATE).edit().clear().apply()
}
使用示例
                //Activity中
                putInSP("SP") {
                    putString("name", "Guc")
                    putInt("age", 30)
                    putBoolean("married", true)
                }
                //Activity中
                getAllFromSP("SP")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值