Android学习——实现记住密码功能

1、至少创建两个EditText、一个CheckBox和一个Button组件,具体代码如下:

 1 private EditText phone;
 2 private EditText password;
 3 private Button Login;
 4 private CheckBox remember;
 5 //用于获取EditText的内容
 6 private String phoneNum;
 7 private String passwordS;
 8 //实现记住密码需要用到SharePreferences
 9 private SharedPreferences pref;
10 private SharedPreferences.Editor editor;


2、获取所需组件信息,具体代码如下:

1 Login = (Button) findViewById(R.id.login);
2 phone = (EditText) findViewById(R.id.phone);
3 password = (EditText) findViewById(R.id.password);
4 remember=(CheckBox)findViewById(R.id.remember);


3、设置记住密码功能,具体代码如下:

1 pref=PreferenceManager.getDefaultSharedPreferences(this);
2 boolean isRemenber=pref.getBoolean("remember_password",false);
3 if(isRemenber){
4     phone.setText(pref.getString("phone",""));
5     password.setText(pref.getString("password",""));
6     remember.setChecked(true);


4、设置按钮的点击响应事件,具体代码如下:

 1 Login.setOnClickListener(new View.OnClickListener() {
 2     @Override
 3     public void onClick(View v) {
 4         phoneNum = phone.getText().toString();
 5         passwordS = password.getText().toString();
 6         if (phoneNum.equals("你的账号") && passwordS.equals("你的密码")) {
 7     //记住密码
 8     editor=pref.edit();
 9     if(remember.isChecked())
10     {
11         editor.putBoolean("remember_password",true);
12         editor.putString("phone",phoneNum);
13         editor.putString("password",passwordS);
14     }else{
15         editor.clear();
16     }
17     editor.apply();
18 
19     Intent IFP = new Intent(Login.this, Home.class);//登录成功,跳转到主页面
20     startActivity(IFP);
21     finish();
22     break;
23 }
24 }
25 });

5、具体效果就是第一次登录时,选中记住密码,且成功登录,则第二次登录时,无需重复输入账号和密码,可直接登录。

原文地址:https://www.cnblogs.com/znjy/p/14907984.html