package com.summer.caidao.shared.preferences
import android.content.Context
import android.content.SharedPreferences
import com.summer.caidao.CAIDAO_NAME_SHARED_PREFERENCES
/**
* Created by
* User -> Summer
* Date -> 2018/5/16
*
* Description: SharedPreferences工具类
*
*/
class CaiDaoSharedPreferences() {
private lateinit var mSharedPreferences: SharedPreferences
constructor(context: Context) : this(context, CAIDAO_NAME_SHARED_PREFERENCES)
constructor(context: Context, sharedPreferencesName: String) : this() {
if (sharedPreferencesName.isEmpty()) {
throw Exception("SharedPreferences名为空")
}
mSharedPreferences = context.getSharedPreferences(sharedPreferencesName, Context.MODE_PRIVATE)
}
/**
* 写入String类型数据
*/
fun put(key: String, value: String) {
mSharedPreferences.edit().putString(key, value).apply()
}
/**
* 写入String类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: String): Boolean {
return mSharedPreferences.edit().putString(key, value).commit()
}
/**
* 获取String
*/
fun getString(key: String): String {
return mSharedPreferences.getString(key, "")
}
/**
* 获取String
*/
fun getString(key: String, defaultValue: String): String {
return mSharedPreferences.getString(key, defaultValue)
}
/**
* 写入Boolean类型数据
*/
fun put(key: String, value: Boolean) {
mSharedPreferences.edit().putBoolean(key, value).apply()
}
/**
* 写入Boolean类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: Boolean): Boolean {
return mSharedPreferences.edit().putBoolean(key, value).commit()
}
/**
* 获取Boolean
*/
fun getBoolean(key: String): Boolean {
return mSharedPreferences.getBoolean(key, false)
}
/**
* 获取Boolean
*/
fun getBoolean(key: String, defaultValue: Boolean): Boolean {
return mSharedPreferences.getBoolean(key, defaultValue)
}
/**
* 写入Float类型数据
*/
fun put(key: String, value: Float) {
mSharedPreferences.edit().putFloat(key, value).apply()
}
/**
* 写入Float类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: Float): Boolean {
return mSharedPreferences.edit().putFloat(key, value).commit()
}
/**
* 获取Float
*/
fun getFloat(key: String): Float {
return mSharedPreferences.getFloat(key, 0f)
}
/**
* 获取Float
*/
fun getFloat(key: String, defaultValue: Float): Float {
return mSharedPreferences.getFloat(key, defaultValue)
}
/**
* 写入Int类型数据
*/
fun put(key: String, value: Int) {
mSharedPreferences.edit().putInt(key, value).apply()
}
/**
* 写入Int类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: Int): Boolean {
return mSharedPreferences.edit().putInt(key, value).commit()
}
/**
* 获取Int
*/
fun getInt(key: String): Int {
return mSharedPreferences.getInt(key, 0)
}
/**
* 获取Int
*/
fun getInt(key: String, defaultValue: Int): Int {
return mSharedPreferences.getInt(key, defaultValue)
}
/**
* 写入Long类型数据
*/
fun put(key: String, value: Long) {
mSharedPreferences.edit().putLong(key, value).apply()
}
/**
* 写入Long类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: Long): Boolean {
return mSharedPreferences.edit().putLong(key, value).commit()
}
/**
* 获取Long
*/
fun getLong(key: String): Long {
return mSharedPreferences.getLong(key, 0)
}
/**
* 获取Long
*/
fun getLong(key: String, defaultValue: Long): Long {
return mSharedPreferences.getLong(key, defaultValue)
}
/**
* 写入Set<String>类型数据
*/
fun put(key: String, value: Set<String>) {
mSharedPreferences.edit().putStringSet(key, value).apply()
}
/**
* 写入Set<String>类型数据
* @return 是否写入成功
*/
fun putResult(key: String, value: Set<String>): Boolean {
return mSharedPreferences.edit().putStringSet(key, value).commit()
}
/**
* 获取Set<String>
*/
fun getStringSet(key: String): Set<String>? {
return mSharedPreferences.getStringSet(key, null)
}
/**
* 获取Set<String>
*/
fun getStringSet(key: String, defaultValue: Set<String>): Set<String> {
return mSharedPreferences.getStringSet(key, defaultValue)
}
/**
* 删除key对应的值
*/
fun remove(key: String) {
mSharedPreferences.edit().remove(key).apply()
}
/**
* 删除key对应的值
* @return 是否删除成功
*/
fun removeResult(key: String): Boolean {
return mSharedPreferences.edit().remove(key).commit()
}
/**
* 清除所有数据
*/
fun clearAll() {
mSharedPreferences.edit().clear().apply()
}
/**
* 清除所有数据
* @return 是否清除成功
*/
fun clearAllResult(): Boolean {
return mSharedPreferences.edit().clear().commit()
}
/**
* 是否包含Key
*/
fun contains(key: String): Boolean {
return mSharedPreferences.contains(key)
}
/**
* 返回所有值
*/
fun all(): Map<String, *> {
return mSharedPreferences.all
}
}
Kotlin探索之路(二)SharedPreferences工具类
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 项目Github地址https://github.com/NashLegend/AnyPref有时候在写代码的时候...
- 委托模式(代理模式)是一种常见的设计模式,委托模式使得我们可以用聚合来替代继承,将委托者与实际实现代码分离出来,以...
- 作者 | 千墨 不安静妹子一枚, 向往热气腾腾的生活, 专注于来自内心的声音。 1我们的爱,离婚姻总是差了那么一小...