Android studio登陆注册的实现及介绍
Android studio登陆注册的实现及介绍
- 前言
- 设计思路
- 效果图
- 登陆模块
- 注册模块
- 数据库模块
- 去除顶部标题
- 总结与补充
前言
大家好!我是oy,今天给大家带来Android studio登陆注册的实现及介绍,第一次写博客,请见谅。
设计思路
- 创建好activity并进行页面设计;
- 创建用户类和数据库类;
- 完善登陆和注册java代码;
- 去掉头顶的标题栏,end;
效果图
登陆模块
登陆界面代码片
.
布局代码很简单的自己看吧
<?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"><ImageViewandroid:layout_marginTop="60dp"android:layout_gravity="center_horizontal"android:layout_width="200dp"android:layout_height="200dp"android:background="@drawable/welcome"/><RelativeLayoutandroid:layout_marginTop="50dp"android:layout_gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"><EditTextandroid: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><RelativeLayoutandroid:layout_marginTop="20dp"android:layout_gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"><EditTextandroid: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><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="20dp"android:orientation="horizontal"><Buttonandroid: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" /><Buttonandroid: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;@Overrideprotected 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() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this,RegisterActivity.class);startActivity(intent);finish();}});btnLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic 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;@Overrideprotected 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() {@Overridepublic void onClick(View v) {Intent intent = new Intent(RegisterActivity.this,MainActivity.class);startActivity(intent);finish();}});myDatabaseHelper = new MyDatabaseHelper(RegisterActivity.this);}@Overridepublic 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"><TextViewandroid: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" /><LinearLayoutandroid:layout_marginTop="100dp"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid: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"/><EditTextandroid: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"/><EditTextandroid: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"/><Buttonandroid: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" /><Buttonandroid: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;}@Overridepublic 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】自取。
Android studio登陆注册的实现及介绍相关推荐
- android 继承类图,Android Studio中绘制UML类图介绍
Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...
- Android Studio CPU profiler性能分析工具介绍和使用详解
Android Studio CPU profiler性能分析工具介绍和使用详解 CPU profiler介绍 Android Studio CPU 性能剖析器可实时检查应用的 CPU 使用率和线程活 ...
- Android Studio之gradle的配置与介绍
1.gradle的简单介绍 Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具.其实Gradle脚本是基于一种JVM语言- ...
- android studio 登陆ui界面设计
一.在activity_mian布局中设计,此处用RelativeLayout控件,功能是实现滑动功能,可上下也可左右,按需求设计.以下是代码部分 <?xml version="1.0 ...
- 怎么升级Android Studio版本,Android Studio更新的四种版本介绍
Android Studio在更新版本时,会有让选择升级源,如下: 默认情况下选择的是Stable Channel 这几个Channel的版本是有一些差异的: 在Android Studio下载官网上 ...
- android用户头像保存,Android的登陆注册(sharedpreferences和SQLite保存以及头像上传显示...
[实例简介] ①该资源中片段代码截取于网上,特别感谢网上的大神 ②该Demo是一个android的简单注册登录,包括: ∷SQLite的注册数据保存 ∷注册登录数据的shakeAnimation验证 ...
- Android简易登陆注册逻辑
activity_login <?xml version="1.0" encoding="utf-8"?> <androidx.constra ...
- 【android studio】注册广播监测网络(附加gif和菊花进度条)
通过注册广播来监测网络的变化,包含wifi和数据网络的监测,添加了gif图片和菊花进度条.本来想上传一个完整测试的gif,但是只能上传小于5M的,哭了.下面上效果图和代码. 效果图 MainActiv ...
- Android studio自动登录和记住密码的实现
Android studio自动登录和记住密码的实现 文章目录 Android studio自动登录和记住密码的实现 前言 一.效果 二.设计思路 三.知识点介绍 1. SharedPreferenc ...
最新文章
- CentOS 7设置ulimit不生效的问题解决
- ITK:计算图像的绝对值
- LeetCode——链表
- 外国经典儿童读物合集pdf_帮助父母在线购买儿童读物–用户体验案例研究
- AI单挑Dota 2世界冠军:被电脑虐哭……
- 天下为公:TCP堵塞控制
- Python-DDoS攻击
- 为什么淘宝上同样的东西,专卖店比官方旗舰店便宜?
- PHP可以通过什么组件上传大文件
- BZOJ5224[Lydsy2017省队十连测] 毁灭
- 笔刷怎么做_怎么用手绘+PS做科技感很强的海报?
- 3. RN笔记-icon图标的使用和阿里图标的使用
- Operator基础:1: Operator Framework简介
- 线性代数Python计算:矩阵对角化
- TODO LIST案例
- Linux发行版之间有什么区别?
- .crx文件怎么解压
- 接口自动化测试高频面试题
- linux tc流量控制(一):classless qdisc
- python:python基础语法三,列表、元组、字典、集合
热门文章
- 一个不错的故事(上)
- Web安全——文件包含漏洞
- 用Python定义一个求绝对值的函数
- JAVA核心知识点--HttpClient获取302响应中的Location头信息
- Understanding parameters:理解参数(Parameter)
- 基于SqlServer的DML(数据查询)实验,掌握select查询语句的使用、掌握有无条件查询、结果排序与分组、掌握视图用法
- CentOS 7.5 搭建以太坊私联(联盟链)及区块链浏览器
- 如何把Kotlin代码转成Java代码、把Java代码转成Kotlin代码
- ubuntu常用的服务器搭建
- nodejs的http请求是报错 socket hang up