以下内容均来自本人的毕设原创,仅供参考
已经实现的注册页面
xml资源代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_register"
android:background="@drawable/bg14"
android:layout_width="match_parent"
android:layout_margin="16dp"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/inputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:orientation="vertical">
<EditText
android:id="@+id/register_phone_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/colorFont"
android:inputType="phone"
android:maxLength="11"
android:hint="@string/phone_hint"
android:textSize="25sp" />
<EditText
android:id="@+id/register_password_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" android:textColor="@color/colorFont"
android:maxLength="16"
android:hint="@string/password_hint"
android:inputType="textPassword"
android:textSize="25sp" />
<EditText
android:id="@+id/confirm_password_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:maxLength="16"
android:hint="@string/confirm_password_hint"
android:textColor="@color/colorFont"
android:inputType="textPassword"
android:textSize="25sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/inputText">
<Button
android:id="@+id/register_register_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginLeft="50dp"
android:background="@color/colorButton"
android:text="@string/action_register"
android:textSize="20dp"
android:textColor="@color/colorFont"
android:textAppearance="@style/TextAppearance.AppCompat" />
<Button
android:id="@+id/cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginLeft="50dp"
android:background="@color/colorButton"
android:text="@string/action_back"
android:textSize="20dp"
android:textColor="@color/colorFont"
android:textAppearance="@style/TextAppearance.AppCompat" />
</LinearLayout>
</RelativeLayout>
注册页面Java代码
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.xujun.busticketsystem.utils.GetPostUtil;
import com.xujun.busticketsystem.utils.MD5Utils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.NoSuchAlgorithmException;
public class RegisterActivity extends AppCompatActivity {
//定义账号,密码输入框
private EditText mPhoneText;
private EditText mPasswordText;
private EditText mConfirmPasswordText;
//定义注册、取消按钮
private Button mRegisterButton;
private Button mCancelButton;
//提示框
private ProgressDialog mDialog;
private String params = "";//定义参数字符串
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
//创建组件
mPhoneText = findViewById(R.id.register_phone_text);
mPasswordText = findViewById(R.id.register_password_text);
mConfirmPasswordText = findViewById(R.id.confirm_password_text);
mRegisterButton = findViewById(R.id.register_register_button);
mCancelButton = findViewById(R.id.cancel_button);
//注册监听
mRegisterButton.setOnClickListener(mOnClickListener);
mCancelButton.setOnClickListener(mOnClickListener);
}
//点击事件
View.OnClickListener mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.register_register_button:
mDialog = new ProgressDialog(RegisterActivity.this);
mDialog.setTitle("正在注册...");
mDialog.setMessage("请稍后...");
mDialog.show();
register();
break;
case R.id.cancel_button:
finish();
break;
default:
break;
}
}
};
private void register(){
String username = mPhoneText.getText().toString();
String password = mPasswordText.getText().toString();
String confirm = mConfirmPasswordText.getText().toString();
//判断密码是否一致
if (!password.equals(confirm)){
Toast.makeText(RegisterActivity.this,"密码不一致",Toast.LENGTH_LONG).show();
mDialog.dismiss();
return;
}
//MD5密码加密
try {
password = MD5Utils.getMD5(password);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
try {
params = "username="+ URLEncoder.encode(username,"UTF-8") +"&password="+URLEncoder.encode(password,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
RegisterTask task = new RegisterTask();
task.execute();
}
public class RegisterTask extends AsyncTask<Void,Void,Void> {
@Override
protected Void doInBackground(Void... voids) {
//获得服务器返回数据
String response = GetPostUtil.executeHttpPost("register", params);
//更新UI
showRegister(response);
return null;
}
}
private void showMessage(String message){
mDialog.dismiss();
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setTitle("注册信息");
builder.setMessage(message);
builder.setCancelable(false);//禁用后退键取消
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
RegisterActivity.this.finish();
}
});
builder.show();
}
private void showRegister(final String message){
runOnUiThread(new Runnable() {
@Override
public void run() {
showMessage(message);
}
});
}
}
后续更新中。。。