大家好!我是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"> <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数据库保存用户数据,实现用户注册,可以联系讨论,完整源码有偿。
总结以上是内存溢出为你收集整理的Android studio登陆注册的实现及介绍全部内容,希望文章能够帮你解决Android studio登陆注册的实现及介绍所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)