- <?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>
- 核心源代码
- 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.运行截图