设计并实现注册登录,要求实现以下功能1.构建一个功能全面、界面美观的注册界面;2.能够实现多选框单选框的应用;3.能够实现注册成功的提示等。

  1. <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       
    android:background="@drawable/mn"
       
    android:layout_width="match_parent"
       
    android:layout_height="match_parent"
       
    android:paddingBottom="@dimen/activity_vertical_margin"
       
    android:paddingLeft="@dimen/activity_horizontal_margin"
       
    android:paddingRight="@dimen/activity_horizontal_margin"
       
    android:paddingTop="@dimen/activity_vertical_margin"
       
    android:weightSum="1">


        <
    EditText
           
    android:drawableLeft="@android:drawable/ic_menu_myplaces"
           
    android:layout_width="wrap_content"
           
    android:layout_height="60dp"
           
    android:inputType="textPersonName"
           
    android:ems="10"
           
    android:id="@+id/resetpwd_edit_name"
           
    android:layout_alignParentTop="true"
           
    android:hint="请输入您的用户名"
           
    android:layout_alignLeft="@+id/resetpwd_edit_pwd_new"
           
    android:layout_alignStart="@+id/resetpwd_edit_pwd_new"
           
    android:layout_alignRight="@+id/resetpwd_edit_pwd_new"
           
    android:layout_alignEnd="@+id/resetpwd_edit_pwd_new" />

    -->

        <
    EditText
           
    android:drawableLeft="@android:drawable/ic_lock_idle_lock"
           
    android:layout_width="fill_parent"
           
    android:layout_height="60dp"
           
    android:inputType="textPassword"
           
    android:ems="10"
            
    android:id="@+id/resetpwd_edit_pwd_old"
           
    android:hint="请输入您的密码"
           
    android:layout_below="@+id/resetpwd_edit_name"
           
    android:layout_alignRight="@+id/resetpwd_edit_name"
           
    android:layout_alignEnd="@+id/resetpwd_edit_name"
           
    android:layout_alignLeft="@+id/resetpwd_edit_name"
           
    android:layout_alignStart="@+id/resetpwd_edit_name" />

        <
    Button
           
    android:layout_width="fill_parent"
           
    android:layout_height="wrap_content"
            
    android:text="取消"
           
    android:id="@+id/register_btn_cancel"
           
    android:textSize="20dp"
           
    android:background="#00000000"
           
    android:layout_below="@+id/register_btn_sure"
           
    android:layout_alignLeft="@+id/register_btn_sure"
           
    android:layout_alignStart="@+id/register_btn_sure"
           
    android:layout_marginTop="10dp" />

        <
    EditText
           
    android:drawableLeft="@android:drawable/ic_lock_idle_lock"
           
    android:layout_width="fill_parent"
           
    android:layout_height="60dp"
           
    android:inputType="textPassword"
           
    android:ems="10"
           
    android:id="@+id/resetpwd_edit_pwd_new"
           
    android:layout_below="@+id/resetpwd_edit_pwd_old"
           
    android:layout_centerHorizontal="true"
           
    android:hint="请确认您的密码" />

        <
    Button
           
    android:layout_width="fill_parent"
           
    android:layout_height="wrap_content"
           
    android:text="确定"
           
    android:id="@+id/register_btn_sure"
           
    android:textSize="20dp"
           
    android:background="#00000000"
           
    android:layout_below="@+id/resetpwd_edit_pwd_new"
           
    android:layout_alignLeft="@+id/resetpwd_edit_pwd_new"
           
    android:layout_alignStart="@+id/resetpwd_edit_pwd_new"
           
    android:layout_marginTop="20dp" />

    </
    RelativeLayout>

  1. 核心源代码
  2. package com.example.dengluzhuce; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class Register extends AppCompatActivity {     private EditText mAccount;                        //用户名编辑     private EditText mPwd;                            //密码编辑     private EditText mPwdCheck;                       //密码编辑     private Button mSureButton;                       //肯定按钮     private Button mCancelButton;                     //取消按钮     private UserDataManager mUserDataManager;         //用户数据管理类     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.register);         mAccount = (EditText) findViewById(R.id.resetpwd_edit_name);         mPwd = (EditText) findViewById(R.id.resetpwd_edit_pwd_old);         mPwdCheck = (EditText) findViewById(R.id.resetpwd_edit_pwd_new);         mSureButton = (Button) findViewById(R.id.register_btn_sure);         mCancelButton = (Button) findViewById(R.id.register_btn_cancel);         mSureButton.setOnClickListener(m_register_Listener);      //注册界面两个按钮的监听事件         mCancelButton.setOnClickListener(m_register_Listener);         if (mUserDataManager == null) {             mUserDataManager = new UserDataManager(this);             mUserDataManager.openDataBase();                              //创建本地数据库         }     }     View.OnClickListener m_register_Listener = new View.OnClickListener() {    //不一样按钮按下的监听事件选择         public void onClick(View v) {             switch (v.getId()) {                 case R.id.register_btn_sure:                       //确认按钮的监听事件                     register_check();                     break;                 case R.id.register_btn_cancel:                     //取消按钮的监听事件,由注册界面返回登陆界面                     Intent intent_Register_to_Login = new Intent(Register.this,Login.class) ;    //切换User Activity至Login Activity                     startActivity(intent_Register_to_Login);                     finish();                     break;             }         }     };     @SuppressLint("StringFormatInvalid")     public void register_check() {                                //确认按钮的监听事件         if (isUserNameAndPwdValid()) {             String userName = mAccount.getText().toString().trim();             String userPwd = mPwd.getText().toString().trim();             String userPwdCheck = mPwdCheck.getText().toString().trim();             //检查用户是否存在             int count=mUserDataManager.findUserByName(userName);             //用户已经存在时返回,给出提示文字             if(count>0){                 Toast.makeText(this, getString(R.string.name_already_exist, userName),Toast.LENGTH_SHORT).show();                 return ;             }             if(userPwd.equals(userPwdCheck)==false){     //两次密码输入不同                 Toast.makeText(this, getString(R.string.pwd_not_the_same),Toast.LENGTH_SHORT).show();                 return ;             } else {                 UserData mUser = new UserData(userName, userPwd);                 mUserDataManager.openDataBase();                 long flag = mUserDataManager.insertUserData(mUser); //新建用户信息                 if (flag == -1) {                     Toast.makeText(this, getString(R.string.register_fail),Toast.LENGTH_SHORT).show();                 }else{                     Toast.makeText(this, getString(R.string.register_success),Toast.LENGTH_SHORT).show();                     Intent intent_Register_to_Login = new Intent(Register.this,Login.class) ;    //切换User Activity至Login Activity                     startActivity(intent_Register_to_Login);                     finish();                 }             }         }     }     public boolean isUserNameAndPwdValid() {         if (mAccount.getText().toString().trim().equals("")) {             Toast.makeText(this, getString(R.string.account_empty),                     Toast.LENGTH_SHORT).show();             return false;         } else if (mPwd.getText().toString().trim().equals("")) {             Toast.makeText(this, getString(R.string.pwd_empty),                     Toast.LENGTH_SHORT).show();             return false;         }else if(mPwdCheck.getText().toString().trim().equals("")) {             Toast.makeText(this, getString(R.string.pwd_check_empty),                     Toast.LENGTH_SHORT).show();             return false;         }         return true;     } }

3.运行截图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一辈子的拥抱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值