Android studio登陆注册的实现及介绍

前言

大家好!我是oy,今天给大家带来Android studio登陆注册的实现及介绍,第一次写博客,请见谅。

设计思路

  1. 创建好activity并进行页面设计;
  2. 创建用户类和数据库类;
  3. 完善登陆和注册java代码;
  4. 去掉头顶的标题栏,end;

效果图

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center

登陆模块

登陆界面代码片.
布局代码很简单的自己看吧

<?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:background="@color/purple_200"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <ImageView
        android:layout_marginTop="60dp"
        android:layout_gravity="center_horizontal"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/welcome"/>
    <RelativeLayout
        android:layout_marginTop="50dp"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/username"
            android:lines="1"
            android:imeOptions="actionNext"
            android:paddingLeft="40dp"
            android:gravity="left|center"
            android:layout_width="200dp"
            android:layout_height="45dp"
            android:hint="用户名"
            android:textSize="16sp"
            android:textColor="@color/white"/>
    </RelativeLayout>
    <RelativeLayout
        android:layout_marginTop="20dp"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/password"
            android:lines="1"
            android:imeOptions="actionNext"
            android:paddingLeft="40dp"
            android:gravity="left|center"
            android:layout_width="200dp"
            android:layout_height="45dp"
            android:hint="密码"
            android:textSize="16sp"
            android:textColor="@color/white"/>
    </RelativeLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:orientation="horizontal">
        <Button
            android:id="@+id/login_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="登陆"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center" />
        <Button
            android:id="@+id/register_button"
            android:layout_marginLeft="80dp"
            android:text="注册"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center" />
    </LinearLayout>

</LinearLayout>

MainActivity.java代码片.

package com.coolweather.login;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import org.w3c.dom.Text;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private MyDatabaseHelper myDatabaseHelper;
    private Button btnLogin,btnRegister;
    private EditText etAccount,etPassword;

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

        btnLogin = findViewById(R.id.login_button);
        btnRegister = findViewById(R.id.register_button);
        etAccount = findViewById(R.id.username);
        etPassword = findViewById(R.id.password);

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,RegisterActivity.class);
                startActivity(intent);
                finish();
            }
        });

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String account = etAccount.getText().toString().trim();
                String password = etPassword.getText().toString().trim();

                if (!TextUtils.isEmpty(account) && !TextUtils.isEmpty(password)) {
                    ArrayList<User> data = myDatabaseHelper.getAllDATA();
                    boolean userdata = false;
                    for (int i = 0; i < data.size(); i++) {
                        User user= data.get(i);   //可存储账号数量
                        if (account.equals(user.getName()) && password.equals(user.getPassword())) {
                            userdata = true;
                            break;
                        } else {
                            userdata = false;
                        }
                    }
                    if (userdata){
                        Toast.makeText(MainActivity.this,"登陆成功!",Toast.LENGTH_LONG).show();
                        Intent intent = new Intent(MainActivity.this,HomeActivity.class);
                        startActivity(intent);
                        finish();
                    }
                    else{
                        Toast.makeText(MainActivity.this,"用户名或密码错误!",Toast.LENGTH_LONG).show();
                    }
                }else {
                    Toast.makeText(MainActivity.this,"用户名或密码不能为空!",Toast.LENGTH_LONG).show();
                }
            }
        });
        myDatabaseHelper = new MyDatabaseHelper(MainActivity.this);
    }
}

注册模块

RegisterActivity.java代码片.

package com.coolweather.login;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {

    private MyDatabaseHelper myDatabaseHelper;
    private Button btnRegister,btnBack;
    private EditText etAccount, etPass, etSex;

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

        etAccount = findViewById(R.id.register_username);
        etPass=findViewById(R.id.register_password);
        etSex=findViewById(R.id.register_sex);
        btnRegister=findViewById(R.id.register2_button);
        btnBack=findViewById(R.id.back_button);
        btnRegister.setOnClickListener(this);
        btnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(RegisterActivity.this,MainActivity.class);
                startActivity(intent);
                finish();
            }
        });
        myDatabaseHelper = new MyDatabaseHelper(RegisterActivity.this);
    }

    @Override
    public void onClick(View v) {
        String name = etAccount.getText().toString().trim();
        String pass = etPass.getText().toString().trim();
        String sex = etSex.getText().toString().trim();

        if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(pass)&&!TextUtils.isEmpty(sex)){
            myDatabaseHelper.add(name,pass,sex);
            Intent intent1 = new Intent(RegisterActivity.this,MainActivity.class);
            startActivity(intent1);
            finish();
            Toast.makeText(RegisterActivity.this,"注册成功",Toast.LENGTH_SHORT).show();
        }else {Toast.makeText(RegisterActivity.this,"信息不完备,注册失败",Toast.LENGTH_SHORT).show();}
        Toast.makeText(RegisterActivity.this,"注册成功!",Toast.LENGTH_LONG).show();
        myDatabaseHelper.add(name,pass,sex);
        Intent intent = new Intent(RegisterActivity.this,MainActivity.class);
        startActivity(intent);
        finish();
    }

}

注册界面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"
    tools:context=".RegisterActivity"
    android:orientation="vertical"
    android:background="@color/purple_200">
    <TextView
        android:layout_marginTop="100dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="请准确输入信息"
        android:textColor="@color/white"
        android:textSize="30dp"
        android:gravity="center" />
    <LinearLayout
        android:layout_marginTop="100dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <EditText
            android:id="@+id/register_username"
            android:layout_gravity="center"
            android:lines="1"
            android:imeOptions="actionNext"
            android:paddingLeft="40dp"
            android:gravity="left|center"
            android:layout_width="200dp"
            android:layout_height="45dp"
            android:hint="用户名"
            android:textSize="15sp"
            android:textColor="@color/white"/>
        <EditText
            android:id="@+id/register_password"
            android:layout_marginTop="20dp"
            android:layout_gravity="center"
            android:lines="1"
            android:imeOptions="actionNext"
            android:paddingLeft="40dp"
            android:gravity="left|center"
            android:layout_width="200dp"
            android:layout_height="45dp"
            android:hint="密码"
            android:textSize="15sp"
            android:textColor="@color/white"/>

        <EditText
            android:id="@+id/register_sex"
            android:layout_marginTop="20dp"
            android:layout_gravity="center"
            android:lines="1"
            android:imeOptions="actionNext"
            android:paddingLeft="40dp"
            android:gravity="left|center"
            android:layout_width="200dp"
            android:layout_height="45dp"
            android:hint="性别"
            android:textSize="15sp"
            android:textColor="@color/white"/>

        <Button
            android:id="@+id/register2_button"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="注册"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center" />
        <Button
            android:id="@+id/back_button"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="返回"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:textColor="@color/white"
            android:textSize="18sp"
            android:gravity="center" />
    </LinearLayout>

</LinearLayout>

数据库模块

创建用户类
User.java代码片.

package com.coolweather.login;

public class User {
    private  int id;
    private  String name;
    private  String password;
    private  String sex;
    public User(String name, String password, String sex){
        super();
        this.name = name;
        this.password = password;
        this.sex = sex;
    }
    public  int getId() {return  id;}
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getSex(){return sex;}
    public void setSex(String sex){this.sex = sex;}
    @Override
    public String toString() {
        return "User{id ="+ id + ", name = "+ name +",password ="+password +",sex ="+sex +"}";
    }
}

使用数据库创建MyDatabaseHelper,创建用户表
MyDatabaseHelper.java代码片.

public class MyDatabaseHelper extends SQLiteOpenHelper {
    private SQLiteDatabase db;
    public static final String CREATE_User = "create table user ("
            + "_id INTEGER PRIMARY KEY AUTOINCREMENT, "
            + "name TEXT, "
            + "password TEXT,"
            + "sex TEXT)";
    public MyDatabaseHelper(@Nullable Context context) {
        super(context, "db_test", null, 1);
        db = getReadableDatabase();
    }

去除顶部标题

去theres.xml文件中更改,如下代码片.

   <style name="Theme.Login" parent="Theme.MaterialComponents.DayNight.NoActionBar">

总结与补充

主要介绍注册模块,登录模块,数据库模块。使用了本地的sqlite数据库保存用户数据,实现用户注册,可以联系讨论,完整源码公众号【勤奋的oyoung】发送【登录demo】自取。

  • 50
    点赞
  • 426
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
### 回答1: 要实现Android Studio的登录注册界面,需要以下步骤: 1. 创建一个新的Android Studio项目,选择Empty Activity模板。 2. 在项目中添加两个Activity:一个是用于登录的LoginActivity,一个是用于注册的RegisterActivity。 3. 在LoginActivity中,添加一个布局文件,包含两个EditText分别用于输入用户名和密码,一个按钮用于执行登录操作。 4. 在RegisterActivity中,添加一个布局文件,包含两个EditText分别用于输入用户名和密码,一个按钮用于执行注册操作。 5. 在MainActivity中,添加一个按钮用于跳转到登录界面。 6. 在登录和注册功能实现中,使用SharedPreferences来存储和获取用户信息。 在实现过程中,需要注意布局文件的设计和代码的实现逻辑。可以参考相关教程,如以下链接:https://www.jianshu.com/p/909a28d4defe。 ### 回答2: Android StudioAndroid 应用程序开发的 IDE,Android 应用程序开发过程中,登录和注册页面是非常重要的一部分,因此,在 Android Studio实现登录和注册界面非常重要。 以下是 Android Studio实现登录和注册界面的步骤: 第一步:创建工程 在 Android Studio 中创建一个新项目,命名为 LoginApp。 第二步:设计 UI 界面 登录和注册界面的设计十分重要,要考虑到用户的使用体验和操作习惯。使用 Android Studio 的 Layout 编辑器,使用户界面更加直观。 第三步:添加登录和注册逻辑 在设计好的界面上添加登录和注册逻辑,包括校验输入内容的合规性、判断用户输入的账号密码是否正确等。 第四步:验证用户输入 在 Android Studio 中,我们可以使用 shared preferences 存储用户数据。我们通过 shared preferences 来存储用户输入的用户名和密码,以及校验码等数据。 第五步:添加网络请求 如果我们的应用涉及到网络请求,那么建议使用AndroidX Volley 来进行网络请求,以获得一个更好的用户体验。例如在注册界面中,我们可以添加一个“注册”按钮,并在其点击事件中开启一个Asynctask 来进行网络请求,以实现用户数据的上传。 第六步:测试和优化 在 Android Studio 上打包并发布应用之前,需要对应用进行测试,并根据测试结果对应用进行优化,例如优化应用启动速度和内存占用。 以上就是 Android Studio 实现登录和注册界面的具体步骤。当然在实际开发中,需要依据自身需求对步骤进行具体调整和增减。 ### 回答3: 在Android开发过程中,登录注册界面是很基础的模块之一。本文将介绍如何使用Android Studio实现登录注册界面。 首先我们需要创建一个新项目。在Android Studio的欢迎界面中点击 ”Start a new Android Studio project”或者在菜单栏中依次选择File -> New -> New Project. 接着按照提示,填写Application Name和Company Domain。在新建项目的过程中会有一个Choose your Project窗口,选择Empty Activity,然后点击next。在下一个页面里,给Activity起一个名字,我们可以叫做LoginActivity。 接着,我们需要创建布局界面。在res/layout目录中,创建登录和注册所需的布局文件。例如,我们可以创建一个名为login.xml和register.xml的布局文件。使用LinearLayout、RelativeLayout等组件来构造布局。创建完布局文件后,在LoginActivity中使用setContentView()方法将其设置为Activity的布局。 然后,我们可以开始编写代码实现登录和注册功能了。可以在LoginActivity中定义按钮、文本框等控件,并且为其设置监听器,进行相应的操作。例如,点击登录按钮,验证用户名和密码,如果验证成功则跳转到主界面;点击注册按钮,获取用户输入并将其保存在SharedPreferences中。 最后,我们需要实现动态权限申请。包括READ_PHONE_STATE(获取手机状态)和INTERNET(联网)等权限。Android 6.0及以上需要动态获取权限,否则会导致应用闪退。 总之,实现登录注册界面是Android开发的基础之一,只需要掌握一些基础的JavaAndroid知识,就可以使用Android Studio实现一个简单而实用的登录注册界面。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的oyoung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值