保存登陆用户名和密码

在一些软件中登陆时保存用户名和密码是常见的功能,它实现起来也特别简单,其原理就是在点击登陆按钮时判断是否勾选保存密码选项,如果勾选,则在内存中保存一份包含用户名和密码的文件文件,在下次再打开登陆界面时会获取文件中的信息。

登陆界面:

在onclick中判断如果勾选了记住密码:

			if (cb_remeber_password.isChecked()) {
				boolean result = LoginService.saveInfo(this, username, password);
				if(result) {
					Toast.makeText(this, "保存密码成功", 0).show();
				}

saveInfo的方法:

	public static boolean saveInfo(Context context, String username,
			String password) {
		//getFileDir : /data/data/包名/files
		//getCacheDir : /data/data/包名/cache
		File file = new File(context.getFilesDir(), "info.txt");

		try {
			FileOutputStream fos = new FileOutputStream(file);
			fos.write((username + "#" + password).getBytes());
			fos.flush();
			fos.close();
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

在这里的getFileDir获取的是手机内存的文件下路径,getCacheDir获取的是应用缓存路径,放在这个路径下的文件会在手机清理缓存是被清理,而且有大小限制,所以一般不建议放在getCacheDir路径下。

这样就保存了一份包含有用户名和密码信息的文件了,下次登录时就可以直接获取这里面的信息而不用重新输入了

		HashMap<String, String> info = LoginService.getInfo(this);
		if(info != null) {
			et_username.setText(info.get("username"));
			et_password.setText(info.get("password"));
		}

获取登录信息getInfo方法:

	public static HashMap<String, String> getInfo(Context context) {
		File file = new File(context.getFilesDir(), "info.txt");
		try {
			FileInputStream fis = new FileInputStream(file);
			BufferedReader br = new BufferedReader(new InputStreamReader(fis));
			String[] result = br.readLine().split("#");
			HashMap<String, String> map = new HashMap<String, String>();
			map.put("username", result[0]);
			map.put("password", result[1]);
			br.close();
			return map;

		} catch (Exception e) {
			Toast.makeText(context, "无法读取用户信息", 0).show();

		}
		return null;
	}

这样就实现了登录信息的获取

再次登录时的状态:

保存登陆用户名和密码

时间: 2024-12-21 21:45:28

保存登陆用户名和密码的相关文章

js判断登陆用户名及密码是否为空的简单实例

js判断登陆用户名及密码是否为空的简单实例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script type="text/javascript"> // 验证输入不为空的脚本代码 function checkForm(form) { if(form.username.value == "") { alert("用户名不能为空!"); form.username.focus(); return

清除input框对浏览器保存的用户名和密码自动填充问题

清除input框对浏览器保存的用户名和密码自动填充问题: type类型写如下写法,聚焦的时候type类型为"password" <input ng-model="getpwd" name="password" type="text"  type="password" autocomplete="off"  onfocus="this.type='password'&quo

svn清除已保存的用户名和密码

在项目中使用SVN是必须的,我们一般将用户名和密码进行保存处理,这样做的好处在于每次都不用输入了,方便快捷.但是当我们想用另外一个svn账号时,这时候该怎么办呢,看下图,让提示框重新出来. 找到这个页面点击如图所示的地方点击clear,就ok了,我们想要的提示框就又出来了..

第一个python程序-判断登陆用户名和密码是否正确

#setencoding=utf-8 #用户名和密码输入正确,则登陆成功 #用户名正确密码错误,只再输入密码,有3次机会 #错误3次,则把用户名放入lock中 import os,sys #存放用户名和密码的文件是E:\python\user.txt accounts_file = 'E:\\python\\user.txt' #被锁的用户要写入此文件 lock_file = 'E:\\python\\lock.txt' #先读出来放内存中,免得每次输入用户后进行判断都要打开文件 user =f

软件开发使用火狐保存了用户名和密码

这两天遇到了一个很烦的问题,在开发网站的时候不怎么没次进入有用户名和密码的页面他都会自动帮我把用户名和密码填好(不管是登录页面合适注册页面,乃至添加用户信息页面),但是在Chrome就没有.刚开始以为我的程序出现bug了,很烦,找了一天都不知道什么原因.后来知道了是因为在填写用户名和密码的时候手快点了希望记住该密码,最后找到了火狐选项里面有设置保存该网站的登录信息.找到已保存的登录信息里面把我的程序的登录信息移除.之后终于好了.

判断登陆用户名和密码是否正确-记事本存用户名密码

#setencoding=utf-8 #用户名和密码输入正确,则登陆成功 #用户名正确密码错误,只再输入密码,有3次机会 #错误3次,则把用户名放入lock中 import os,sys #存放用户名和密码的文件是E:\python\user.txt accounts_file = 'E:\\python\\user.txt' #被锁的用户要写入此文件 lock_file = 'E:\\python\\lock.txt' #先读出来放内存中,免得每次输入用户后进行判断都要打开文件 user =f

windows更改远程端口和登陆用户名及密码

1.修改windows远程桌面默认端口 打开注册表:regedit > 定位到[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp] -- PortNamber 选择十进制并修改. 再定位到[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTenninal ServerWinStationsRDP-Tcp] -- PortNamber 选择十进制

SVN无法连接到服务器不仅仅是保存了以前的用户名和密码还可能是电脑问题

这个是我的svn报的错误,本人用的是公司的旧电脑,第一次安装SVN结果就报上图错误,无奈对于一个新生来说解决问题时困难的,但是又有什么办法.百度上都说是清除了保存的用户名和密码就可以了,本人也不耐烦的试了n遍,可是依旧不行,卸载重装也不可以.公司配置人员远程都没办法解决最后不了了之.最后在我的努力之下还是自己解决了. 这个原因除了错误的用户名和密码,还有一个原因是自己的电脑本身的问题,ping不同任何网址,但是可以ping通ip.无奈公司给的是网址....只能cmd运行netsh winsock

eclipse/ggts/myeclipse清除SVN用户名和密码

很多时候我们在使用eclipse/myeclipse/ggts这些开发工具进行开发的时候会有多个项目存在,不同的项目又存放在不同的svn下,需要进行svn之间的切换,如果你在创建资源库位置的时候保存了用户名和密码,那么当您创建其它的资源库位置时,如果您没有该资源库位置的访问权限就会报文件夹不存在等错误,原因之一在于你保存了svn的用户名和密码,每次都使用这个用户名和密码登陆就会报错,下面介绍如何清除SVN的用户名和密码: 找到本地路径C:\Users\Administrator\AppData\