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

原文地址:https://www.cnblogs.com/rion1234567/p/10628281.html

时间: 2024-10-16 13:33:00

Kotlin安卓页面本地存储数据(方法和封装)的相关文章

NSUserDefaults轻量级本地存储数据

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯. 因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了. NSUserDefaults支持的数据格式有:NSNumber(Integer.Float

HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()

HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localStroage()方法对用户访问页面的次数进行计数 <script type="text/javascript"> if(localStorage.pagecount) { localStorage.pagecount=Number(localStorage.pagecount)+

[安卓基础]010. 存储数据(上)

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

[安卓基础] 012.存储数据(下)——文件存储

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

[安卓基础]011存储数据(中)——sqlite语法介绍

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

vue 本地存储数据 sessionStorage

在vuex 下的 action下的userAction.js中添加 export function login(from, self) { axPost('/api/login', from, function(res) { if (res.data == 0) { alert("账号密码错误") } else { note.commit('userloginbean', res.data); self.$router.push("/"); sessionStora

htm5本地存储方案——websql的封装

一.websql 简介 在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的负担,使Web时代重新回到了"客户端为重,服务器为轻"的时代. 在这其中,一项非常重要的功能就是数据库的本地存储功能.在HTML5中内置了一个可以通过SQL语言来访问的数据库.在HTML4中,数据库只能放在服务器端,只能通过服务器来访问数据库,但是在HTML5中,可以就像访问本地文件那样轻松的

利用备份技术获取apk本地存储数据

即使设备没有root,我们也可以通过物理访问设备来获取应用程序的数据,我们还可以通过此方法改变一个应用程序的数据.如果一个应用程序将数据存储在客户端, 使用简单的密码或pin检查,攻击者有可能使用这种方法来绕过这些检查.在本文中,我们将讨论如何在一台没有root的设备上利用这种方法来改变应用程序特定的数据.主要操作步骤如下所示: Step 1: 备份目标应用 Step 2: 去掉头部信息然后保存文件 Step 3: 做必要的修改 Step 4: 从原始的”.ab”文件获得头部信息 Step 5:

存储数据方法之一:NSUserDefaults 读取和写入

NSUserDefaults读取和写入自定义对象 NSUserDefaults可以存取一些短小的信息. 比如存入再读出一个字符串到NSUserDefaults: view plaincopy to clipboardprint?NSString *string = [NSString stringWithString @"hahaha"]; NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; [ud setObject