Kotlin安卓页面本地存储数据(方法和封装)
直接上代码
封装:
//存储key对应的数据
fun saveData(context: Activity, key: String, info: String) {
val sharedPreferences = context.getSharedPreferences(key, MODE_PRIVATE)
val editor = sharedPreferences.edit()
editor.putString(key, info)
editor.apply()
} //取key对应的数据
fun getData(context: Activity, key: String): String {
val result = context.getSharedPreferences(key, MODE_PRIVATE).getString(key, "")
return if (result.isEmpty()) {
""
} else {
result
}
} //清空缓存对应key的数据
fun clearData(context: Activity, key: String) {
context.getSharedPreferences(key, MODE_PRIVATE).edit().clear().apply()
}
这里第一个参数传入Context,方便在各个activity/fragment里调用
调用:
//存数据
saveData(this@LoginActivity, "phone", _phone) //取数据
getData(this, "phone") //清除数据
clearData(activity!!,"phone")
ps:我这里都给转成String封装了,其实getSharedPreferences什么类型的都能存
Kotlin安卓页面本地存储数据(方法和封装)的更多相关文章
- 手把手教你开发Chrome扩展三:关于本地存储数据
		手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ... 
- HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()
		HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localSt ... 
- 黄聪:360浏览器、chrome开发扩展插件教程(3)关于本地存储数据
		转载:http://www.cnblogs.com/walkingp/archive/2011/04/04/2003875.html HTML5中的localStorage localStorage与 ... 
- html5本地存储数据,实现自动登录功能
		背景: 在项目中遇到一个需求:用户登录完之后,网站自动保存用户id存储在本地,在下次打开网页时,通过id判断是否要进行登录操作. 技术方案: 在HTML5中,本地存储是一个window的属性,包括lo ... 
- vue 本地存储数据 sessionStorage
		在vuex 下的 action下的userAction.js中添加 export function login(from, self) { axPost('/api/login', from, fun ... 
- [安卓基础]011存储数据(中)——sqlite语法介绍
		*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ... 
- htm5本地存储方案——websql的封装
		一.websql 简介 在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的 ... 
- 利用备份技术获取apk本地存储数据
		即使设备没有root,我们也可以通过物理访问设备来获取应用程序的数据,我们还可以通过此方法改变一个应用程序的数据.如果一个应用程序将数据存储在客户端, 使用简单的密码或pin检查,攻击者有可能使用这种 ... 
- 安卓开发--sharedpreferences存储数据
		@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ... 
随机推荐
- Hive设置变量
			hive --define --hivevar --hiveconf set 1.hivevar命名空间 用户自定义变量 hive -d name=zhangsan hive --define nam ... 
- Pig load 用法举例
			users = load '/users.data' using PigStorage() as (name:chararray, age:int, address:chararray); loa ... 
- zabbix系列之一——简要介绍
			参考来源:(官网) https://www.zabbix.com/documentation/3.4/manual/introduction/about 1what’s zabbix? index d ... 
- CentOS6.4 下安装 jdk1.7.0_67
			1.卸载系统自带的jdk 1.1.查看该操作系统上是否已经安装了jdk [root@xhTest-1 ~]# rpm -qa | grep jdk 1.2.删除系统自带的jdk [root@xhTes ... 
- springMVC入门-07
			删除功能实现,对应controller类中的代码如下所示: @RequestMapping(value="/{username}/delete",method=RequestMet ... 
- Jmeter入门--参数化、集合点
			一.参数化 1.用户定义的变量 用户自定义变量中的定义的所有参数的值在测试计划的执行过程中不能发生取值的改变,因此一般仅将测试计划中不需要随迭代发生改变的参数(只取一次值的参数)设置在此处.例如应用的 ... 
- 使用SDWebImage淡入淡出的方式加载图片
			使用SDWebImage淡入淡出的方式加载图片 效果: 请通过以下方式下载源码: 找到它修改文件的地方: 以下是使用源码: // // ViewController.m // SDWebImageFa ... 
- python2.7下同步华为云照片的爬虫程序实现
			1.背景 随着华为手机的销量加大,华为云的捆绑服务使用量也越来越广泛,华为云支持自动同步照片.通讯录.记事本等,用着确实也挺方便的,云服务带来方便的同时,也带来了数据管理风险.华为目前只提供一个www ... 
- Python入门-模块2(random模块、os模块)
			>>> random.randomrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random.randint(1,10) #返回1-1 ... 
- zabbix 监控wind登录状态
			参考博文:http://blog.51cto.com/qicheng0211/1694583 需求:监控win 2008 的用户登录状态,无论用户登录成功与否都要告警(也可以刷选指定用户.指定时间内) ... 
