利用Shared Preferences 保存用户名密码 的方法

这篇博客记录了Android新手在实现登录界面时如何利用SharedPreferences进行用户名和密码的保存。作者通过代码示例展示了在用户勾选保存信息时如何读写数据,并提到通过观察Activity生命周期来确定恰当的读写时机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜鸟日记

====================================

刚学习Android不久,最近做的大部分都是关于UI布局方面的工作,一些小问题往往会纠结很多时间,等到某个时间才会豁然开朗

这些天在帮公司整一个需要登录界面的App,我完成的是控件布局的工作,也就因为这个才接触到SharedPreferences,下面就分享下我的代码



/*
 *利用Shared Prefences  保存用户名信息
 *
 *
 * 概述:
 *	1.在 onPause() 方法中保存数据
 *	2.在 onResume() 方法中读取数据
 *
 */

 
private EditText editUsername;
private EditText editPassword;
private CheckBox cbLogin;

	@Override
	protected void onResume() {
		super.onResume();
		//读取Shared Preferences保存的用户数据
		SharedPreferences sp = getSharedPreferences("LOGININFO", MODE_PRIVATE);
		editUsername.setText(sp.getString("USERNAME", null));
		editPassword.setText(sp.getString("PASSWORD", null));
		cbLogin.setChecked(sp.getBoolean("CHECKED", false));
	}

	@Override
	protected void onPause() {
		super.onPause();
		//保存用户数据到Shared Preferences
		SharedPreferences sp = getSharedPreferences("LOGININFO", MODE_PRIVATE);
		SharedPreferences.Editor editor = sp.edit();
		if(cbLogin.isChecked()) {
			editor.putString("USERNAME", editUsername.getText().toString());
			editor.putString("PASSWORD", editPassword.getText().toString());
		} else {
			editor.putString("USERNAME", null);
			editor.putString("PASSWORD", null);
		}
		editor.putBoolean("CHECKED", cbLogin.isChecked());
		editor.commit();
	}



=============================================

上面的例子实现了,若勾选CheckBox “保存信息”,则会将用户名和密码用SharedPreferences的方法来读写。

在编写代码的过程中,最后要通过Log tag观察Activity的生命周期来确定了该在何时读取何时保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值