今天来用SharedPreferences实现记住密码功能,当用户勾选记住密码后,再次登录账户密码框自动填充
一、xml布局,此处不叙
二、主文件操作
(1)、获取SharedPreferences对象
第一个参数是存储数据的文件名,第二个数据是设置存储的方式
SharedPreferences mysp = getSharedPreferences("mysp", MODE_PRIVATE);
(2)、实现密码保存
在登录按钮点击时判断记住密码框勾选情况,如果记住密码复选框被勾选,则保存输入框的内容
来一个SharedPreferences.Editor对象,
通过该对象的putString方法实现保存
通过键值对的方式保存
最后一定记住提交就行,否则无效
btn_login.setOnClickListener(v -> {
if (cb_rember.isChecked()){
SharedPreferences.Editor edit = mysp.edit();
edit.putString("username", uname.getText().toString().trim());
edit.putString("password", upass.getText().toString().trim());
edit.commit();
}
});
(3)、实现读取数据
保存数据后,以后登录需自动读取
通过SharedPreferences对象的getstring方法读取键,返回同类型的数据
编辑框得到读取到的数据
String username = mysp.getString("username", null);
String password = mysp.getString("password", null);
uname.setText(username);
upass.setText(password);
三、结果
PS:可以通过该方法进行用户首次登录展示引导页的逻辑,在用户第一次登录时进行自定义值的保存,如果以后登录有保存的值则跳过用户引导页便可。以后可能会有笔记