上代码,没什么好说明的:
补充一点,声明工具类,class 需要更改为 object (类声明时)
private const val FILE_NAME =
"global_data" fun put(context: Context
, key: String
, objects: Any) {
var sp = context.getSharedPreferences(
FILE_NAME, Context.
MODE_PRIVATE)
var editor = sp.edit() LogUtil.d(
"put key $key
, value $objects
as String")
when (objects) {
is String -> { LogUtil.d(
"put info begin -- ") editor.putString(key
,
objects) }
is Int -> { editor.putInt(key
,
objects) }
is Boolean -> { editor.putBoolean(key
,
objects) }
is Float -> { editor.putFloat(key
,
objects) }
is Long -> { editor.putLong(key
,
objects) } } editor.commit() }
fun get(context: Context?
, key: String
, defaults: Any): Any? {
var sp = context!!.getSharedPreferences(
FILE_NAME, Context.
MODE_PRIVATE) LogUtil.d(
" String info : $defaults
, " + (defaults
is String))
when (defaults) {
is String -> {
var info = sp.getString(key
,
defaults) LogUtil.d(
"return info :$info
")
return info }
is Int -> {
return sp.getInt(key
,
defaults) }
is Boolean -> {
return sp.getBoolean(key
,
defaults) }
is Float -> {
return sp.getFloat(key
,
defaults) }
is Long -> {
return sp.getLong(key
,
defaults) } }
return null }
fun remove(context: Context
, key: String) {
var sp = context.getSharedPreferences(
FILE_NAME, Context.
MODE_PRIVATE)
var editor = sp.edit() editor.remove(key) editor.commit() }
fun clear(context: Context) {
var sp = context.getSharedPreferences(
FILE_NAME, Context.
MODE_PRIVATE)
var editor = sp.edit() editor.clear() editor.commit() }