1. 创建新项目
- 打开Android Studio,选择“Start a new Android Studio project”。
- 选择一个合适的模板,例如“Empty Activity”,并设置项目名称、包名等。
- 点击“Finish”完成创建。
2. 设计登录界面
- 布局文件: 打开activity_main.xml文件,使用XML布局语言设计登录界面。
- 控件: 添加必要的控件,如EditText(用于输入用户名和密码)、Button(用于提交登录信息)、TextView(用于显示提示信息)。
- 约束布局: 使用ConstraintLayout来灵活地布局控件,确保在不同屏幕尺寸上显示效果良好。
<?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"
android:layout_width="match_parent"
android.layout_height="match_parent">
<EditText
android:id="@+id/etUsername"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="请输入用户名"
android:inputType="textEmailAddress"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="64dp" />
<EditText
android:id="@+id/etPassword"
android:layout_width="0dp"
android:layout_height="wrap_content"
android.hint="请输入密码"
android:inputType="textPassword"
app:layout_constraintStart_toStartOf="parent"
app.layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etUsername"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp" />
<Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录"
app:layout_constraintTop_toBottomOf="@+id/etPassword"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="32dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
3. 编写登录逻辑
- MainActivity.java: 在MainActivity.java文件中,获取用户输入的用户名和密码。
- 按钮点击事件: 为登录按钮设置点击事件,在事件处理函数中实现登录逻辑。
- 验证用户名和密码: 可以将用户名和密码与预设值进行比较,或者发送网络请求到服务器进行验证。
- 跳转界面: 登录成功后,跳转到主界面或其他界面;失败则显示错误提示。
public class MainActivity extends AppCompatActivity {
private EditText etUsername, etPassword;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername = findViewById(R.id.etUsername);
etPassword = findViewById(R.id.etPassword);
btnLogin = findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim();
// 模拟登录验证,实际开发中应该替换为网络请求等方式
if (isValidLogin(username, password)) {
// 登录成功,跳转到主界面
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish(); // 登录成功后关闭当前Activity
} else {
// 登录失败,显示错误提示
Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
}
});
}
// 模拟登录验证,可以根据实际需求替换为网络请求等方式
private boolean isValidLogin(String username, String password) {
// 这里可以进行更复杂的验证逻辑,比如与服务器端进行通信
return username.equals("admin") && password.equals("123456");
}
}
代码说明:
- 布局文件: 增加了密码输入框,并设置了相应的输入类型(
android:inputType="textPassword"
)。 - 登录逻辑:
- 获取用户名和密码时,使用
trim()
方法去除前后空格。 - 引入了一个
isValidLogin
方法,用于模拟登录验证。在实际开发中,这里应该替换为向服务器发送请求,验证用户名和密码的正确性。 - 登录成功后,跳转到主界面并关闭当前Activity,避免用户返回登录界面。
- 获取用户名和密码时,使用
推荐学习资源:
- Android官方文档: https://developer.android.com/
- CSDN: CSDN - 专业开发者社区
- Stack Overflow: Stack Overflow - Where Developers Learn, Share, & Build Careers
通过以上步骤,就可以创建一个带有登录功能的Android应用。
我是用Kotlin实现的,成品如下:
详情可参照:https://download.csdn.net/download/xcc212/89740722?spm=1001.2014.3001.5501
其中包含源码,截图以及实验报告,工程打包等,有兴趣的同学可以下载