android实现记住密码

步骤目录
①准备
②第一次登陆
③以后登陆

①准备

     //登录成功标志
    private int Success = -2;
    //记住密码选择
    private CheckBox rememberPass;
    //声明一个SharedPreferences对象和一个Editor对象
    private SharedPreferences pref;
    private SharedPreferences.Editor editor;

②第一次登陆

 pref = PreferenceManager.getDefaultSharedPreferences(this);
 boolean isRemember = pref.getBoolean("remember_password", false);
  if (isRemember)
   {
     String account = pref.getString("account", "");
     String password = pref.getString("password", "");
     et_name.setText(account);
     et_pass.setText(password);
     rememberPass.setChecked(true);
    }

* 第一次登陆时,isRemember默认存入false,若remember_password有对应的值,则取出其对应的值传给isRemember(其好处是对应了两种情况:第一次登陆的默认false以后的登陆根据自己的选择是否记住密码),如果isRemember为true则从pref中取出已经存入的账号和密码并显示出来(默认为空,即若pref中没有存入则显示为空),且设置CheckBox(rememberPassword)为选中状态。


接下来,根据服务端反馈的结果判断是否登录成功:

                     if(isSuccess != -1){
                            Success = 0;
                            tv_result.setText(null);
                            Toast.makeText(MainActivity.this,"登录成功!",Toast.LENGTH_LONG).show();
                        }else {
                            if(wrongYan != -1){
                                tv_result.setText("错误提示:验证码输入错误");
                                yan.setText(null);
                                Success = -3;
                                Toast.makeText(MainActivity.this,"登录失败!",Toast.LENGTH_LONG).show();
                            }
                            if(wrongPassorCount != -1){
                                tv_result.setText("错误提示:密码或者账号错误");
                                et_pass.setText(null);
                                Success = -3;
                                Toast.makeText(MainActivity.this,"登录失败!",Toast.LENGTH_LONG).show();
                            }
                        }

                        if (Success == 0)
                        {
                            editor = pref.edit();
                            if (rememberPass.isChecked())
                            {
                                String account = et_name.getText().toString();
                                String password = et_pass.getText().toString();
                                editor.putBoolean("remember_password", true);
                                editor.putString("account", account);
                                editor.putString("password", password);
                            }
                            else
                            {
                                editor.clear();
                            }
                            editor.apply();
                            Intent tmpIntent = new Intent(MainActivity.this,LoginedActivity.class);
                            tmpIntent.putExtra("userName", userName);
                            tmpIntent.putExtra("Cookies", responseCookie);
                            startActivity(tmpIntent);
                            finish();
                        }

③以后登录

聪明的你应该已经发现,以后登陆的逻辑设计可以参照 * 处的处理模式(实际也是共用的代码段)。

到这里,已经完成了对登录的记住账号密码以及反馈结果的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值