Android中实现一个简单的登录逻辑

Android中实现一个简单的登录逻辑,第1张

Android中实现一个简单的登录逻辑

我们在写项目的过程中都会遇到登录页面,很多新手都不会写登录页面的逻辑,今天给大家带来一个简单的登录页面

不废话直接上代码

第一步,布局:




    

    

    

    

    

    

        

        
    

    

在drawable文件下创建一个ed_background的一个xml文件用来画EdText的边框



    
    

在drawable文件下创建一个spinner_border的一个xml文件用来画Spinner的边框




    

在value下创建一个arrays,里面写我们的下拉菜单中中的内容



    
        学员
        教练
        队医
        领导
    

第二步通过我们通过布局中对控件给出的id,在Activiy中进行找控件,然后写逻辑

package com.example.androoid;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import java.util.regex.Pattern;

public class LoginActivity extends AppCompatActivity {

    private Spinner sp_choose;
    private EditText ed_name;
    private EditText ed_passwprd;
    private CheckBox cbx_password;
    private TextView text_registered;
    private Button button_login;

  

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        sp_choose = findViewById(R.id.sp_choose);
        ed_name = findViewById(R.id.ed_name);
        ed_passwprd = findViewById(R.id.ed_password);
        cbx_password = findViewById(R.id.cbx_password);
        text_registered = findViewById(R.id.text_registered);
        button_login = findViewById(R.id.button_login);
        
        }

    }

然后在onCreate中写一个initonckick()用来写我们的按钮逻辑完整代码如下

package com.example.androoid;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import java.util.regex.Pattern;

public class LoginActivity extends AppCompatActivity {

    private Spinner sp_choose;
    private EditText ed_name;
    private EditText ed_passwprd;
    private CheckBox cbx_password;
    private TextView text_registered;
    private Button button_login;

    
    public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$";

    

    public static final String REGEX_PASSWORD = ""^(?=.*?[a-z])(?=.*?[0-9])[a-zA-Z0-9_]{6,16}$"";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        sp_choose = findViewById(R.id.sp_choose);
        ed_name = findViewById(R.id.ed_name);
        ed_passwprd = findViewById(R.id.ed_password);
        cbx_password = findViewById(R.id.cbx_password);
        text_registered = findViewById(R.id.text_registered);
        button_login = findViewById(R.id.button_login);
        initonckick();
    }

    
    public static boolean isUsername(String username) {
        return Pattern.matches(REGEX_USERNAME, username);
    }

    
    public static boolean isPassword(String password) {
        return Pattern.matches(REGEX_PASSWORD, password);
    }

    private void initonckick() {
        final String name = ed_name.getText().toString();
        final String passwprd  =ed_passwprd.getText().toString();
        
        text_registered.setonClickListener(new View.onClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(LoginActivity.this, RegisteredActivity.class);
                startActivity(intent);
            }
        });

        
            button_login.setonClickListener(new View.onClickListener() {
                @Override
                public void onClick(View v) {
                    if (!isUsername(name) && !isPassword(passwprd)){
                        Toast.makeText(LoginActivity.this, "用户名或密码格式不对", Toast.LENGTH_SHORT).show();
                    }else {
                        Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                        startActivity(intent);
                    }
                }
            });
        }

    }

这个就是一个简单的登录页面的逻辑

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5719690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存