Android中的数据存取 | SharedPreferences保存用户名和私钥
2024-11-08 12:16:59
2preferences.getString( "name", "");
3preferences.getInt( "age", 0);
上述字符之中,第1;大字符通过getSharedPreferences受益SharedPreferences 单纯,以后通过该单纯的getString方法有和getInt方法有受益的网站和比率。
3
●
常用SharedPreferences撤下数据库
常用SharedPreferences撤下数据库的时候,所需先受益SharedPreferences单纯,并通过该单纯的edit方法有受益Editor单纯。通过末期始化Editor单纯的remove(String key)方法有撤下数据库。该方法有之中的匹配为关键字,即键-个数对的key个数。该方法有就会撤下key相并不不尽相同的数据库。如果要撤下所有数据库可引入clear方法有。举例来说字符如下。
1SharedPreferences preferences = getSharedPreferences( "data", MODE_PRIVATE);
2SharedPreferences.Editor editor = preferences.edit;
3editor. remove( "name");
4editor.clear;
上述字符之中,第1;大字符通过getSharedPreferences受益SharedPreferences 单纯,以后通过该单纯的edit方法有受益Editor单纯,通过Editor单纯之中的remove和clear方法有撤下数据库。
2
夜战:
SharedPreferences完好的网站和密码学
通过对SharedPreferences的研习,可以对“欢乐购商城”之中的受保护首页顺利进;大构建。图形界面布局与7.1节布局不尽相同,在此依然重复摄像。在程序之中创建人一个工具类SPSeInfo完好的网站和密码学。
程序清单7-7: chart0704\app\src\main\ja\com\example\administrator\
1publicclassSPSeInfo {
2publicstaticbooleanseInfoToSP(Context context, StringuserName, StringuserPwd) {
3SharedPreferences preferences = context.getSharedPreferences( "data",
Context.MODE_PRIVATE);
4SharedPreferences.Editor editor = preferences.edit;
5editor.putString( "userName", userName);
6editor.putString( "userPwd", userPwd);
7editor.commit;
8returntrue;
9}
10publicstaticMap< String, String> getInfoFromSP(Context context) {
11HashMap< String, String> hashMap = newHashMap<>;
12SharedPreferences preferences = context.getSharedPreferences( "data", Context.MODE_PRIVATE);
13StringuserName = preferences.getString( "userName", "");
14StringuserPwd = preferences.getString( "userPwd", "");
15hashMap.put( "userName", userName);
16hashMap.put( "userPwd", userPwd);
17returnhashMap;
18}
19}
在上述字符之中,第2~9;大创建人seInfoToSP方法有,主要用途完好的网站和密码学到data.xml明文之中。在该方法有之中首先通过getSharedPreferences方法有受益到SharedPreferences单纯,并通过该单纯的edit方法有受益到Editor单纯,并通过该单纯将数据库完好在明文之中。
第10~18;大创建人一个getInfoFromSP方法有用来受益data.xml明文之中完好的的网站和密码学。在该方法有之中首先通过getSharedPreferences方法有受益到SharedPreferences单纯,并通过该单纯的getString方法有受益到的网站和密码学,并将受益的数据库放置Map集合之中。
MainActivity首页的字符如下。
程序清单7-8: chart0704\app\src\main\ja\com\example\
1publicclassMainActivityextendsAppCompatActivity{
2privateTextView tvRegister;
3privateTextView tvFindPwd;
4privateEditText editName;
5privateEditText editPwd;
6privateButton btnLogin;
7privateString userName;
8privateString psw;
9@Override
10protectedvoidonCreate(Bundle sedInstanceState){
11super.onCreate(sedInstanceState);
12setContentView(R.layout.activity_main);
13initView;
14initListener;
15Map uerInfo = SPSeInfo.getInfoFromSP( this);
16if(uerInfo != null) {
17editName.setText(uerInfo.get( "userName"));
18editPwd.setText(uerInfo.get( "userPwd"));
19}
20}
21privatevoidinitView{
22tvRegister = (TextView) findViewById(R.id.tv_register);
23editName = (EditText) findViewById(R.id.et_user_name);
24editPwd = (EditText) findViewById(R.id.et_psw);
25tvRegister = (TextView) findViewById(R.id.tv_register);
26tvFindPwd = (TextView) findViewById(R.id.tv_find_psw);
27btnLogin = (Button) findViewById(R.id.btn_login);
28}
29privatevoidinitListener{
30btnLogin.setOnClickListener( newView.OnClickListener {
31@Override
32publicvoidonClick(View v){
33userName = editName.getText.toString.trim;
34psw = editPwd.getText.toString;
35if(userName.isEmpty || psw.isEmpty) {
36Toast.makeText(MainActivity. this, "的网站或密码学不用为空", Toast.LENGTH_SHORT).show;
37return;
38} else{
39Toast.makeText(MainActivity. this, "受保护失败", Toast.LENGTH_SHORT).show;
40booleanisSe = SPSeInfo.seInfoToSP(MainActivity. this, userName, psw);
41if(isSe) {
42Toast.makeText(MainActivity. this, "完好失败", Toast.LENGTH_SHORT).show;
43}
44}
45}
46});
47}
48}
运;大以上程序,在的网站和密码学框之中分别不读写“234”,鼠标“受保护”屏幕,弹丸成“受保护失败”和“完好失败”透露的网站和密码学已经完好在本地明文之中,运;大结果如由此可知7-10上由此可知。
■ 由此可知7-10常用sp受保护失败并完好受保护反馈
当关闭程序再次打开程序以后,图形界盘上就会启动时存储成的网站和密码学,如由此可知7-11上由此可知。
■ 由此可知7-11再次受保护启动时存储受保护反馈
为了验证用户反馈是否失败完好到了SharedPreferences之中,可以在Device File Explorer视由此可知之中看到data\data\com.example.administrator.chart0704\shared_prefs书目,然后看到 data.xml明文,data.xml明文书目如由此可知7-12上由此可知。
■ 由此可知7-12明文完好的位置
打开data.xml明文。
1
2 < map>
3 < stringname= "userPwd"> 234 string>
4 < stringname= "userName"> 234 string>
5 map>
常用seInfoToSP类失败地把的网站和密码学完好在明文之中。从data.xml明文可知,该XML明文是以map为根节点,map表达方式的每个子表达方式均是由一个key-value对,子表达方式的name属性个数为value并不不尽相同的并不一定名。
举例来说讲解
Android零为基础进阶到夜战
精彩简介
鸿蒙整合进阶
整合第一个鸿蒙应该主要用途+首页反转
Android之中的数据库不读取
夜战两栖作战—明文磁盘构建启动时受保护
下期预告
Android之中的数据库不读取
3. 夜战两栖作战——订单处理
3
详见历史书籍
《Android零为基础进阶到夜战(App新项目整合·鸿蒙整合进阶·微课预告片版)》
作者:赵圣鲁、胡颖辉、余燕萍、汪宗伟、赵向上
折扣:59.8元
内容简介
本书围绕Android新手从零为基础到夜战达人的过程顺利进;大设计,引入新项目教研法,以作者整合的“欢乐购商城”App为例,以一个完整的新项目整合有别于终点站,将新项目整合水解为9个教研模块,分别为App应该主要用途领略、Android为基础图形界面命令行、Android高级别图形界面命令行、列表命令行、首页反转与切换、Android之中的数据库不读取、Android顾客端与该软件交互、先导新项目“欢乐购商城”构建等。不读者群在研习为基础知识过程之中将看重App先导新项目整合工序,逐步人才培养独立整合先导新项目的能力,并最后构建先导新项目。同时本书引入鸿蒙整合进阶知识,供有兴趣的不读者群详见研习。本书可作为应该主要用途型本科计算机各个领域、插件各个领域、国中插件技术各个领域及相关各个领域的教材,也可作为Android和鸿蒙整合醉心者以及末期、之中级Android应该主要用途整合人员的详见工具书。
编辑延揽
为了便捷不读者群研习,本书现有了微课教研预告片、计算机语言、课件、试题、课程蓝由此可知等教研天然资源。所有现有天然资源均可在清华大学成版社官网下载。其之中安卓新项目案例计算机语言,基于Ja JDK1.8+Android Studio Arctic Fox+Android SDK 11.0+gradle:7.0.0-beta04整合;鸿蒙新项目案例计算机语言,基于Open JDK1.8+DevEco Studio 2.1 release+sdk(api version 5)+gradle6.3整合。
扫码京东优惠购书
4
精彩延揽
微信小程序RPG整合│猜十进制小RPG(附计算机语言+预告片)
Flink脚本语言为基础│Scala脚本语言末期级倡导
Flink脚本语言为基础│FlinkCEP脚本语言倡导
Flink脚本语言为基础│DataStream API脚本语言倡导
Flink脚本语言为基础│DataSet API脚本语言倡导
数 据分析夜战│顾客价个数分析
分析夜战│售价预测挑战
分析夜战│短时间氨基酸预测
分析夜战│KaggleTitanic生存预测
。阳痿怎么办阳痿是怎么引起的
抑郁症
闹肚子吃什么
脉血康治疗静脉曲张机理
盐酸坦洛新缓释片治夜尿多效果怎么样
前列腺炎
常乐康酪酸梭菌二联活菌散怎么样
偏头痛右边痛什么原因
女性生理常识
- 国泰君安:11月底部已探明,新基建定价初展开
- 山西:因到胞弟退休,李秋喜申请辞去公司董事长等职务
- 网传贵州茅台股东可登记卖给1499元飞天茅台
- 五粮液除此以外表态!坚持发力2000元+市场,多家酒企已提价
- 大享赋税优惠好处,速度时空却因税务问题被罚11次……
- 建龙微纳最新公告:11.2072%限售股将于12月27日上市纸钞
- 茅台放大练!持股1手就可平价购买2瓶飞天!17万股民笑了,有人已经取到酒
- 藤椒油厂商幺麻子IPO绝味持股17%本年贡献440万收入,持
- 嘉寓股份涉及恒大商票的持票或背书合计敞口数额13.16亿元
- 唐源电气最新公告:拟使用2000万元在长春原设子公司
- 乐心医疗:可行权利的期权利35.3932万份、可解除限售的限制性股票15.1689万股
- 陷入技术性熊市后,胡克还会涨回来吗?
- :总经理李秋喜到龄退休,辞去总经理等职务
- 采用“炮坑洗盘”,会有多少外间准备交出“带血筹码”呢?
- 外媒关注:美威胁将更是多在美上市中企“摘牌”
- 顺丰控股:11月披露计划的合计收入同比增长68.19%
- 新元素破产清算 疑似浮现神秘人接盘?
- 市值仅千元的中概股,用80吨有假黄金骗来上百亿贷款,被刑事立案
- A股:一则假消息释放,接下来,走势将会如何?
- 新力控股集团(02103):天职来港获任新核数师 继续停牌