直接上代码
封装:
1 //存储key对应的数据 2 fun saveData(context: Activity, key: String, info: String) { 3 val sharedPreferences = context.getSharedPreferences(key, MODE_PRIVATE) 4 val editor = sharedPreferences.edit() 5 editor.putString(key, info) 6 editor.apply() 7 } 8 9 //取key对应的数据 10 fun getData(context: Activity, key: String): String { 11 val result = context.getSharedPreferences(key, MODE_PRIVATE).getString(key, "") 12 return if (result.isEmpty()) { 13 "" 14 } else { 15 result 16 } 17 } 18 19 //清空缓存对应key的数据 20 fun clearData(context: Activity, key: String) { 21 context.getSharedPreferences(key, MODE_PRIVATE).edit().clear().apply() 22 }
这里第一个参数传入Context,方便在各个activity/fragment里调用
调用:
1 //存数据 2 saveData(this@LoginActivity, "phone", _phone) 3 4 //取数据 5 getData(this, "phone") 6 7 //清除数据 8 clearData(activity!!,"phone")
ps:我这里都给转成String封装了,其实getSharedPreferences什么类型的都能存