Android 存储学习之使用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", ""));
	}

显示效果:

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

时间: 2024-10-05 06:05:31

Android 存储学习之使用SharedPreference保存文件的相关文章

Android 存储学习之在外部存储中读写文件

上节学习了如何在手机内部存储中读写文件,本节学习如何在手机的外部存储中读写文件.那就是如何在Sdcard中读写文件. 那我们还是用以前登录界面的例子举例说明,(登录界面请看上节Android 存储学习之在内部存储中读写文件) 先我们显示写的代码: 当点击确定并且自动登录的钩是选中的,则就会在sdcard文件夹写创建一个info.txt文件 public void login(View v) { String name = ed_nam.getText().toString(); String p

Android开发学习---使用XmlPullParser解析xml文件

Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将主要介绍pull解析器解析xml文件,环境为ubuntu 12.04+ intelij 13.1 + android sdk 2.1 一.创建一个XML项目,步骤如下: 二.解析一个xml文件: assets/person.xml <?xml version="1.0" encodi

Android 存储学习之在内部存储中读写文件

大家都知道,在实际工作中开发,进场需要将一个文件写入到手机的存储中.既然说到手机的存储空间,那就先说说手机的存储空间分类: 1: 内部存储空间 RAM内存: 也就是手机的运行的内存,相当于电脑的内存 ROM内存: 也就是手机的存储内存,相当于电脑的硬盘 2: 外部存储空间 也就是可插拔的SD卡,相当于电脑的移动硬盘,U盘等. 既然手机存储分为两类,那我们先看看如何在手机的内部存储中读写文件. 那我们引入一个实际中很常见的例子: 一般带登录界面的,都需要将用户的信息保存到本地.我们就用上面的例子演

Android 存储学习之保存系统短信到SD卡

本节学习,保存系统短信到SD卡中.既然是要保存系统短信到SD卡中,前提是先要拿到系统的短信,关于如何读取系统的短信,请看我的关于ContentProvider文章: Android 四大组件学习之ContentProvider三 既然知道了任务的目的,那我们就直接实现.我们先将系统的短信读出,然后保存到xml文件中,然后将xml文件写到sd卡中. 1: 先将系统短信读出 //得到ContentResolver ContentResolver cr = getContentResolver();

Android 存储学习之保存系统短信到SD卡(使用XML序列化器)

上节中我们是手动拼接xml文件,但是上节中那样的做法会有一个问题,比如: //插入消息的内容 sBuffer.append("<body>"); sBuffer.append(sms.getBody() + "</body>"); sBuffer.append("</body>"); 我在插入消息内容的时候,在追加内容里面加了个 </body>. 这样就会出现解析错误的 所以这节我们使用xml的序列

Android 存储学习之SQLite数据库的基本操作

本节学习SQLite数据库,SQLite是Android内置的一个简单的轻量级的数据库.关于SQLite的简介我这里不做过多的介绍. 既然我们要学习数据库的基本操纵,那就离不开,数据库的创建,增删改查等操作. 再学习数据库的相关操作前,我先给大家介绍一个类:SQLiteOpenHelper.SQLiteOpenHelper是Android系统为方便程序的开发引入的一个对数据库管理的工具类.可用于关于数据库的创建和版本更新.一般的用法是创建SQLiteOpenHelper的子类,并实现它的OnCr

(九)android 中数据存储与访问——保存文件到手机内存

9.1手机的存储区域 手机的存储区域通常有两个地方:一:手机内部存储空间,理解成一块微硬盘/data/data/:二:外部存储空间SD卡 9.2方法捕获异常的原则 如果方法有返回值,则用try catch捕获,如果方法的返回值是Void类型,则使用throws抛出异常 9.3 上下文Context Context:是一个类,提供一些方便的api 可以得到应用程序的环境,例如:环境的包名,安装路径,资源路径,资产的路径 9.4 保存文件到手机内存——登陆界面例子程序 9.4.1 项目需求 用户登陆

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

Android学习笔记——保存文件(Saving Files)

Android设备有两种文件存储区域:   内部存储和外部存储 ("internal" and "external" storage). 这名字来自早期Android,那时大多数Android设备提供两种存储方式:内置的非易失的内存(内部存储)和可移动的存储例如micro SD卡(外部存储). 一些设备将永久内存分为内部和外部两部分,因此即使没有外部存储,依旧有两种存储空间.不管有没有外部存储,API的方法都是一样的.     内部存储: 始终都是可用的 保存的文件