移动应用开发:简易登录页

文章目录


简介

使用Android Studio编写的简单Android 登录应用程序,该应用程序包含一个登录界面,具有账号和密码两个文本框,以及退出和提交按钮。按下退出按钮将退出整个程序,按下提交按钮将根据给定的账号和密码显示相应的消息。

UI界面效果图

一,创建新活动

1,File------New------Activity------Empty Activity。

2,输入活动名称:LoginActivity,选择语言为Java;单击Finish按钮。

3,查看新建活动代码和布局文件。

二,设计UI布局

打开res/layout/activity_login.xml文件,并添加以下内容以设计登录界面:

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    tools:context=".LoginActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="120dp"
        android:layout_marginBottom="50dp"
        android:layout_gravity="center"
        android:text="简易登录页"
        android:textSize="35dp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="账号:"
            android:textSize="20dp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/etUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入账号"
            android:inputType="text" />
    </LinearLayout>

    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="密码:"
            android:textSize="20dp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/etPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入密码"
            android:inputType="textPassword" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="380dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnSubmit"
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_marginTop="16dp"
            android:layout_marginLeft="70dp"
            android:text="提交" />

        <Button
            android:id="@+id/btnExit"
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_marginTop="16dp"
            android:layout_marginLeft="50dp"
            android:text="退出" />
    </LinearLayout>

    <TextView
        android:id="@+id/tvMessage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:gravity="center"
        android:visibility="gone" />
    
</LinearLayout>

三,编写活动代码

打开LoginActivity.java文件,并添加以下代码:

java 复制代码
package com.example.mycontacts;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class LoginActivity extends AppCompatActivity {

    private EditText etUsername;
    private EditText etPassword;
    private Button btnSubmit;
    private Button btnExit;
    private TextView tvMessage;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        etUsername = findViewById(R.id.etUsername);
        etPassword = findViewById(R.id.etPassword);
        btnSubmit = findViewById(R.id.btnSubmit);
        btnExit = findViewById(R.id.btnExit);
        tvMessage = findViewById(R.id.tvMessage);

        btnSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = etUsername.getText().toString();
                String password = etPassword.getText().toString();

                if ("test".equals(username) && "123".equals(password)) {
                    tvMessage.setText("登录成功");
                    tvMessage.setVisibility(View.VISIBLE);
                } else {
                    tvMessage.setText("登录失败");
                    tvMessage.setVisibility(View.VISIBLE);
                }
            }
        });

        btnExit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish(); // 关闭当前活动,退出应用(如果只有一个活动)
                // 如果需要完全退出应用(包括所有活动),可以使用以下代码
                // System.exit(0);
            }
        });
    }
}

四,运行应用程序

  1. 启动Android模拟器。

  2. 点击Android Studio工具栏上的"Run"按钮(绿色三角形)。

  3. 启动成功。

  4. 在设备或模拟器上查看应用程序,输入账号和密码并点击按钮进行测试(正确的账号为test,密码为123)。

注意

  • System.exit(0); 可以完全退出应用程序,包括所有活动,但在Android中通常不推荐使用,因为Android有自己的活动生命周期管理。
  • finish(); 只关闭当前活动。如果这是应用程序的唯一活动,那么它将退出应用程序。
  • 实际项目中,密码不应硬编码在代码中,应使用安全的存储和验证方法。
相关推荐
感谢地心引力4 小时前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
优雅的潮叭8 小时前
cud编程之 reduce
android·redis·缓存
2601_949613028 小时前
flutter_for_openharmony家庭药箱管理app实战+用药知识详情实现
android·javascript·flutter
一起养小猫8 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
2601_949975088 小时前
flutter_for_openharmony城市井盖地图app实战+附近井盖实现
android·flutter
倾云鹤8 小时前
通用Digest认证
android·digest
我是阿亮啊9 小时前
Android 自定义 View 完全指南
android·自定义·自定义view·viewgroup
2601_9498333911 小时前
flutter_for_openharmony口腔护理app实战+意见反馈实现
android·javascript·flutter
峥嵘life11 小时前
Android 16 EDLA测试STS模块
android·大数据·linux·学习
TheNextByte111 小时前
如何打印Android手机联系人?
android·智能手机