码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-08-02 20:03:06      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:使用sharedpreference来保

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

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

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

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

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的形式保存的

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="passwd">1233333</string>
<string name="name">ert</string>
</map>

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

	public void readInfo()
	{
		//获取info文件中的内容
		SharedPreferences sP = getSharedPreferences("info", MODE_PRIVATE);
		ed_nam.setText(sP.getString("name", ""));
		ed_passwd.setText(sP.getString("passwd", ""));
	}
显示效果:

技术分享



版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:使用sharedpreference来保

原文地址:http://blog.csdn.net/longwang155069/article/details/47209743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!