Kotlin安卓页面本地存储数据(方法和封装)

直接上代码

封装:

 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什么类型的都能存

猜你喜欢

转载自www.cnblogs.com/rion1234567/p/10628281.html