前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 存储学习之使用SharedPreference保存文件

Android 存储学习之使用SharedPreference保存文件

作者头像
DragonKingZhu
发布2022-05-08 16:34:50
4270
发布2022-05-08 16:34:50
举报

上两节我们都是使用文本文件保存用户的信息,这明显是存在漏洞的。同时对文件中的内容不好管理。今天我们学习用SharedPreference保存。sharedPreference是专门保存一些比较零散的数据的。

我们还是用上节的例子分析,将用户的信息使用SharedPreference来保存。

注意:如果不知道是什么例子,请看Android 存储学习之在内部存储中读写文件

当点击确定按钮后,就会保存用户的信息:

代码语言:javascript
复制
public void login(View v)
{
	String name = ed_nam.getText().toString();
	String passwd = ed_passwd.getText().toString();
	
	//判断用户名或者密码是否输入
	if((name.equals("")) || (passwd.equals("")))
	{
		Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
	}
	else 
	{
		if(cb.isChecked())
		{
			//使用sharedPreference来保存用户的信息,
			//SharedPreference的默认路径是:当前进程包名下的/share_prefs/
			SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
			
			//拿到SharedPreference的编辑器
			Editor editor = sp.edit();
			
			editor.putString("name", name);
			editor.putString("passwd", passwd);
			
			//提交
			editor.commit();
		}
		
		Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
		}
}

可以看到在sharedPreference的路径下有info文件

导出可以看到。info.xml是以key,value的形式保存的

代码语言:javascript
复制
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="passwd">1233333</string>
<string name="name">ert</string>
</map>

当再次进来时,也能回显用户的信息:

代码语言:javascript
复制
	public void readInfo()
	{
		//获取info文件中的内容
		SharedPreferences sP = getSharedPreferences("info", MODE_PRIVATE);
		ed_nam.setText(sP.getString("name", ""));
		ed_passwd.setText(sP.getString("passwd", ""));
	}

显示效果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档