android开发学习
android实现简单的登录注册(未连接后台数据库):
效果演示:



代码:
activity_register.xml:
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:background="@color/white">
<!-- 用户名输入框 -->
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"
android:inputType="text"
android:layout_marginBottom="16dp"
android:padding="12dp"
android:background="@drawable/edittext_background"/>
<!-- 密码输入框 -->
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword"
android:layout_below="@id/etUsername"
android:layout_marginBottom="24dp"
android:padding="12dp"
android:background="@drawable/edittext_background"/>
<!-- 注册按钮 -->
<Button
android:id="@+id/register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册"
android:layout_below="@id/etPassword"
android:background="@color/colorPrimary"
android:textColor="@color/white"
android:padding="12dp"/>
<Button
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/etPassword"
android:layout_marginTop="89dp"
android:background="@color/colorPrimary"
android:padding="12dp"
android:text="返回"
android:textColor="@color/white" />
</RelativeLayout>
activity_login.xml:
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:background="@color/white">
<!-- 用户名输入框 -->
<EditText
android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"
android:inputType="text"
android:layout_marginBottom="16dp"
android:padding="12dp"
android:background="@drawable/edittext_background"/>
<!-- 密码输入框 -->
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword"
android:layout_below="@id/etUsername"
android:layout_marginBottom="24dp"
android:padding="12dp"
android:background="@drawable/edittext_background"/>
<!-- 登录按钮 -->
<Button
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
android:layout_below="@id/etPassword"
android:background="@color/colorPrimary"
android:textColor="@color/white"
android:padding="12dp"/>
<TextView
android:id="@+id/register"
android:layout_width="100dp"
android:layout_height="30dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="200dp"
android:layout_marginEnd="0dp"
android:text="还未注册?"
android:textColor="@color/colorPrimary" />
</RelativeLayout>
点击查看代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
RegisterActivity:
点击查看代码
package com.app.login;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
public class LoginActivity extends AppCompatActivity {
private EditText etUsername;
private EditText etPassword;
private SharedPreferences sharedPreferences;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_login);
//初始化控件
etUsername = findViewById(R.id.etUsername);
etPassword = findViewById(R.id.etPassword);
sharedPreferences = getSharedPreferences("user",MODE_PRIVATE);
//点击注册
findViewById(R.id.register).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转到注册页
Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
startActivity(intent);
}
});
findViewById(R.id.login).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
if(TextUtils.isEmpty(username)||TextUtils.isEmpty(password)){
//Toast
Toast.makeText(LoginActivity.this, "请输入用户名或密码", Toast.LENGTH_SHORT).show();
}else {
String name = sharedPreferences.getString("username", null);
String pwd = sharedPreferences.getString("password", null);
if (username.equals(name)&&password.equals(pwd)){
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
startActivity(intent);
}else {
Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
LoginActivity:
点击查看代码
package com.app.login;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
public class LoginActivity extends AppCompatActivity {
private EditText etUsername;
private EditText etPassword;
private SharedPreferences sharedPreferences;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_login);
//初始化控件
etUsername = findViewById(R.id.etUsername);
etPassword = findViewById(R.id.etPassword);
sharedPreferences = getSharedPreferences("user",MODE_PRIVATE);
//点击注册
findViewById(R.id.register).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转到注册页
Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
startActivity(intent);
}
});
findViewById(R.id.login).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
if(TextUtils.isEmpty(username)||TextUtils.isEmpty(password)){
//Toast
Toast.makeText(LoginActivity.this, "请输入用户名或密码", Toast.LENGTH_SHORT).show();
}else {
String name = sharedPreferences.getString("username", null);
String pwd = sharedPreferences.getString("password", null);
if (username.equals(name)&&password.equals(pwd)){
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
startActivity(intent);
}else {
Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
点击查看代码
package com.app.login;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}

浙公网安备 33010602011771号