在上一篇文章中,我們已經打造完成了 註冊介面 (Register UI) 的雛形,讓使用者能夠直觀地輸入必要資訊。
但光有外觀還不夠,今天,我將帶領大家進一步撰寫 註冊功能的核心程式碼,
讓行程管家不只擁有登入功能,還能 新增全新的使用者帳號,實現登入與註冊的 雙向串聯、互相跳轉,進而大幅提升整體應用的 完整性與流暢度。
註冊功能
以下是我們設計好的 RegisterActivity.java 程式碼:
package com.example.ittext.ui.register;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.ittext.R;
public class RegisterActivity extends AppCompatActivity {
private EditText EditTextName, EditTextEmail, EditTextPassword, EditTextPhone;
private Button RegisterButton;
private CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
getIntent();
EditTextName = findViewById(R.id.rest_editTextText_rne);
EditTextEmail = findViewById(R.id.rest_editTextTextEmailAddress_rem);
EditTextPassword = findViewById(R.id.rest_editTextTextPassword_rpw);
EditTextPhone = findViewById(R.id.rest_editTextPhone_rph);
RegisterButton = findViewById(R.id.rest_button_reg);
checkBox = findViewById(R.id.rest_checkBox);
checkBox.setOnClickListener((buttonView) -> {
if (checkBox.isChecked()) {
RegisterButton.setEnabled(true);
} else {
RegisterButton.setEnabled(false);
}
});
RegisterButton.setOnClickListener((view) -> {
String name = EditTextName.getText().toString().trim();
String email = EditTextEmail.getText().toString().trim();
String password = EditTextPassword.getText().toString().trim();
String phone = EditTextPhone.getText().toString().trim();
if (name.isEmpty() || email.isEmpty() || password.isEmpty() || phone.isEmpty()) {
Toast.makeText(RegisterActivity.this, "請輸入完整資料", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegisterActivity.this, "註冊成功", Toast.LENGTH_SHORT).show();
finish();
}
});
}
}
成果展示: