• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
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、具体效果就是第一次登录时,选中记住密码,且成功登录,则第二次登录时,无需重复输入账号和密码,可直接登录。

posted on 2021-05-14 20:18  戈瑾  阅读(483)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3