Android studio密码登录验证码登录(二)登录逻辑

 一、忘记密码

      

1.判断手机号是否是11位,不是提示输入正确手机号码,不跳转页面

//获取按钮EditText的文本内容
String phone = et_phone.getText().toString();
        if (phone.length() < 11){
                  //弹出提示,并return,不跳转页面
            Toast.makeText(this, "输入正确手机号码", Toast.LENGTH_SHORT).show();
            return;
  }

  是十一位,因为两个界面共用一个按钮,所以要判断是否是密码登录或者验证码登录,

1、密码登录:把手机号打包跳转页面。

2、验证码登录:弹出对话框随机生成验证码。

注意register.launch(intent)需要重构一下,因为原来的函数过时了

if(v == btn_forget) {
    // 检查按钮是否是“忘记密码”按钮

    // 如果选择了密码方式
    if(rb_password.isChecked()) {
        // 创建跳转到找回密码界面的意图
        Intent intent = new Intent(this, LoginForgetActivity.class);
        // 将手机号添加到意图中
        intent.putExtra("phone", phone);
        // 启动找回密码活动
        register.launch(intent);
    } else if(rb_verifcode.isChecked()) {
        // 如果选择了验证码方式

        // 生成六位随机验证码
        mverifycode = String.format("%06d", new Random().nextInt(999999));

        // 创建对话框构建器
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        // 设置对话框标题
        builder.setTitle("请记住验证码");
        // 设置对话框消息内容,包括手机号和验证码
        builder.setMessage("手机号" + phone + ",本次验证码是" + mverifycode + ",请输入验证码");
        // 设置对话框确定按钮,并设为"好的",不执行任何操作(null)
        builder.setPositiveButton("好的", null);
        // 创建并显示对话框
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

重构: 

// 注册活动结果监听器,当启动的活动返回结果时触发
register = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
    @Override
    public void onActivityResult(ActivityResult result) {
        // 在这里处理启动的活动返回的结果
        // 可以在这里获取返回的数据并进行相应的处理
        // 如果不需要处理返回结果,此处留空即可
    }
});
;

二、登录按钮

没什么逻辑就是判断是否和预设的密码或者验证码相同,提示登陆成功

  1. 预设:

 private String mPassword = "111111";
 private String mverifycode= "111111";

2.判断是否登录成功 

else if (v == btn_login) {
    // 检查按钮是否是“登录”按钮

    // 如果选择了密码登录方式
    if(rb_password.isChecked()){
        // 检查输入的密码是否与预设密码相符
        if(!mPassword.equals(et_password.getText().toString())){
            // 如果密码不匹配,显示提示消息并返回
            Toast.makeText(this,"请输入正确密码",Toast.LENGTH_SHORT).show();
            return;
        }
        // 登录成功
        loginSuccess();
    } 
    // 如果选择了验证码登录方式
    else if (rb_verifcode.isChecked()) {
        // 检查输入的验证码是否与生成的验证码相符
        if(!mverifycode.equals(et_password.getText().toString())){
            // 如果验证码不匹配,显示提示消息并返回
            Toast.makeText(this,"请输入正确验证码",Toast.LENGTH_SHORT).show();
            return;
        }
        // 登录成功
        loginSuccess();
    }
}

3.登录成功对话框:

private void loginSuccess() {
        String desc = String.format("Your phonenumber is%s,congradulation passed check,click yes to back old page.",
                et_phone.getText().toString());
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Logined Success!");
        builder.setMessage(desc);
        builder.setPositiveButton("Goback", (dialog, which) -> {
              finish();
        });
        builder.setNegativeButton("lokk again",null);
       AlertDialog dialog =  builder.create();
        dialog.show();
    }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值