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")