67 lines
1.8 KiB
Kotlin
67 lines
1.8 KiB
Kotlin
package com.jc.jcfw.util
|
|
|
|
import android.content.Context
|
|
import android.content.SharedPreferences
|
|
|
|
class SharedPreferencesHelper(context: Context, FILE_NAME: String?) {
|
|
private val sharedPreferences: SharedPreferences
|
|
private val editor: SharedPreferences.Editor
|
|
|
|
init {
|
|
sharedPreferences = context.getSharedPreferences(
|
|
FILE_NAME,
|
|
Context.MODE_PRIVATE
|
|
)
|
|
editor = sharedPreferences.edit()
|
|
}
|
|
|
|
fun put(key: String?, `object`: Any) {
|
|
if (`object` is String) {
|
|
editor.putString(key, `object`)
|
|
} else if (`object` is Int) {
|
|
editor.putInt(key, `object`)
|
|
} else if (`object` is Boolean) {
|
|
editor.putBoolean(key, `object`)
|
|
} else if (`object` is Float) {
|
|
editor.putFloat(key, `object`)
|
|
} else if (`object` is Long) {
|
|
editor.putLong(key, `object`)
|
|
} else {
|
|
editor.putString(key, `object`.toString())
|
|
}
|
|
editor.commit()
|
|
}
|
|
|
|
fun getSharedPreference(key: String?, defaultObject: Any?): Any? {
|
|
return if (defaultObject is String) {
|
|
sharedPreferences.getString(key, defaultObject as String?)
|
|
} else if (defaultObject is Int) {
|
|
sharedPreferences.getInt(key, (defaultObject as Int?)!!)
|
|
} else if (defaultObject is Boolean) {
|
|
sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
|
|
} else if (defaultObject is Float) {
|
|
sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
|
|
} else if (defaultObject is Long) {
|
|
sharedPreferences.getLong(key, (defaultObject as Long?)!!)
|
|
} else {
|
|
sharedPreferences.getString(key, null)
|
|
}
|
|
}
|
|
|
|
fun remove(key: String?) {
|
|
editor.remove(key)
|
|
editor.commit()
|
|
}
|
|
|
|
fun clear() {
|
|
editor.clear()
|
|
editor.commit()
|
|
}
|
|
|
|
fun contain(key: String?): Boolean {
|
|
return sharedPreferences.contains(key)
|
|
}
|
|
|
|
val all: Map<String, *>
|
|
get() = sharedPreferences.all
|
|
} |