安卓项目:app注册/登录界面设计

目录

第一步:设计视图xml

第二步:编写登录和注册逻辑代码

运行效果展示:

总结:


提前展示项目结构:

第一步:设计视图xml

在layout目录下面创建activity_login.xml和activity_main.xml文件

activity_login.xml完整代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/et_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="用户名" />

    <EditText
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="密码"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录" />

    <Button
        android:id="@+id/btn_register"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="注册" />

</LinearLayout>

activity_main.xml完整代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<ListView
    android:id="@+id/listview"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"/>
</LinearLayout>

第二步:编写登录和注册逻辑代码

package com.example.damn;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText etUsername;
    private EditText etPassword;
    private Button btnLogin;
    private Button btnRegister;

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

        etUsername = findViewById(R.id.et_username);
        etPassword = findViewById(R.id.et_password);
        btnLogin = findViewById(R.id.btn_login);
        btnRegister = findViewById(R.id.btn_register);

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 在这里处理登录逻辑
                String username = etUsername.getText().toString();
                String password = etPassword.getText().toString();
                if (username.isEmpty() || password.isEmpty()) {
                    Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
                } else {
                    // 调用登录接口,验证用户名和密码是否正确
                }
            }
        });

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 在这里处理注册逻辑
                String username = etUsername.getText().toString();
                String password = etPassword.getText().toString();
                if (username.isEmpty() || password.isEmpty()) {
                    Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
                } else {
                    // 调用注册接口,将用户名和密码发送到服务器进行注册
                }
            }
        });
    }
}

第三步:编写AndroidManifest.xml

在main目录下改写AndroidManifest.xml,将主程序入口改成MainActivity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Damn"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

运行效果展示:

登录和注册可以与数据库连用

总结:

本文主要介绍了如何设计一个安卓应用的注册/登录界面。首先,我们创建了一个新的Android项目,并在项目中添加了一个名为activity_login.xml的布局文件,用于定义登录界面的布局。接着,我们在项目目录下创建了一个名为MainActivity.java的Java类,用于处理登录/注册逻辑。

在布局文件中,我们使用了LinearLayout作为根布局,并设置了垂直方向和内边距为16dp。该布局包含两个EditText控件,分别用于输入用户名和密码。第一个EditText控件的id为et_username,提示文本为“用户名”;第二个EditText控件的id为et_password,提示文本为“密码”,并且输入类型设置为textPassword,表示输入的内容将被隐藏。

此外,还包含两个Button控件,分别用于登录和注册操作。第一个Button控件的id为btn_login,显示文本为“登录”;第二个Button控件的id为btn_register,显示文本为“注册”。

在MainActivity.java中,我们首先通过findViewById()方法获取到各个控件的引用。然后,为登录和注册按钮分别设置了点击事件监听器。在点击事件的回调方法中,我们首先检查用户名和密码是否为空,如果为空则弹出提示信息;否则,调用相应的接口进行登录或注册操作。

最后,在AndroidManifest.xml文件中添加了MainActivity,并将其设置为应用的主入口。这样,我们就完成了一个简单的登录/注册界面的设计。

相关推荐

  1. 手机APP开发___设置闹钟

    2024-03-11 11:04:03       8 阅读
  2. py注册登录界面

    2024-03-11 11:04:03       34 阅读
  3. APP的开发:为了安全的设计

    2024-03-11 11:04:03       15 阅读
  4. apk逆向

    2024-03-11 11:04:03       49 阅读
  5. 手机APP开发___设备管理概述

    2024-03-11 11:04:03       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 11:04:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 11:04:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 11:04:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 11:04:03       18 阅读

热门阅读

  1. C++核心编程

    2024-03-11 11:04:03       19 阅读
  2. 驱动开发之LED灯驱动开发

    2024-03-11 11:04:03       20 阅读
  3. Python基础复习-range函数和列表截取

    2024-03-11 11:04:03       22 阅读
  4. 国产开源数据框openGauss安装与jdbc连接

    2024-03-11 11:04:03       19 阅读
  5. 企业微信HOOK接口Dll调用(4.1.16.6002版本)

    2024-03-11 11:04:03       21 阅读
  6. 美国站群服务器租用需要考虑哪些关键点

    2024-03-11 11:04:03       24 阅读
  7. vue如何优化首页加载速度

    2024-03-11 11:04:03       19 阅读
  8. 深入理解与使用go之中间件--实现

    2024-03-11 11:04:03       23 阅读
  9. IOS面试题object-c 71-80

    2024-03-11 11:04:03       18 阅读
  10. ssl域名转发配置

    2024-03-11 11:04:03       22 阅读