您当前的位置:首页 >> 家居优品

Android中的数据存取 | SharedPreferences保存用户名和私钥

2024-11-08 12:16:59

E_PRIVATE);

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

4 < stringname= "userName"> 234

5

常用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生存预测

阳痿怎么办
阳痿是怎么引起的
抑郁症
闹肚子吃什么
脉血康治疗静脉曲张机理
盐酸坦洛新缓释片治夜尿多效果怎么样
前列腺炎
常乐康酪酸梭菌二联活菌散怎么样
偏头痛右边痛什么原因
女性生理常识
友情链接