Android基于Sqlite怎么实现注册和登录功能
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Android基于Sqlite怎么实现注册和登录功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android基于Sqlite怎么实现
千家信息网最后更新 2026年11月03日Android基于Sqlite怎么实现注册和登录功能
本篇内容主要讲解"Android基于Sqlite怎么实现注册和登录功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android基于Sqlite怎么实现注册和登录功能"吧!
实现逻辑
项目的图片结构图如下
代码
user class
public class User { private String name; //用户名 private String password; //密码 public User(String name, String password) { this.name = name; this.password = password; } 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; }}DBOpenHelper class
import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import java.util.ArrayList;public class DBOpenHelper extends SQLiteOpenHelper { private SQLiteDatabase db; public DBOpenHelper(Context context){//打开数据库 super(context,"db_test",null,1);//1:上下文,2:数据库名,3:允许我们查询数据时返回一个Cursor,4:当前数据库的版本号 db = getReadableDatabase(); } @Override public void onCreate(SQLiteDatabase db){//建表(user)语句 db.execSQL("CREATE TABLE IF NOT EXISTS user(" +//PRIMARY key 将id设为主键 ,AUTOINCREMENT 设置id列自为增长 "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT," + //text 文本类型 "password TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){//重写升级 db.execSQL("DROP TABLE IF EXISTS user"); onCreate(db); } public void add(String name,String password){//重写添加 db.execSQL("INSERT INTO user (name,password) VALUES(?,?)",new Object[]{name,password}); } public void delete(String name,String password){//重写删除 db.execSQL("DELETE FROM user WHERE name = AND password ="+name+password); } public void updata(String password){//重写更新 db.execSQL("UPDATE user SET password = ?",new Object[]{password}); } public ArrayList getAllData(){//将表内信息返回成一个list ArrayList list = new ArrayList(); Cursor cursor = db.query("user",null,null,null,null,null,"name DESC");//1表名,2列,3行,4行,5指定列进行过滤,6进一步过滤。7得到的信息进行排序(desc逆序) while(cursor.moveToNext()){//一行一行遍历 String name = cursor.getString(cursor.getColumnIndex("name"));//移动到name列,读取出来 String password = cursor.getString(cursor.getColumnIndex("password")); list.add(new User(name,password));//添加到user 的list中 } return list;//把list返回 }} activity_login.xml
LoginActivity
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.content.Intent;import android.text.TextUtils;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;public class LoginActivity extends AppCompatActivity implements View.OnClickListener { private DBOpenHelper mDBOpenHelper; private EditText mEtLoginactivityUsername; private EditText mEtLoginactivityPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initView(); mDBOpenHelper = new DBOpenHelper(this); } private void initView() { // 初始化控件 mEtLoginactivityUsername = findViewById(R.id.et_loginactivity_username); mEtLoginactivityPassword = findViewById(R.id.et_loginactivity_password); // 设置点击事件监听器 } public void onClick(View view) { switch (view.getId()) { // 跳转到注册界面 case R.id.tv_loginactivity_register: startActivity(new Intent(this, RegisterActivity.class)); finish(); break; case R.id.bt_loginactivity_login: String name = mEtLoginactivityUsername.getText().toString().trim();//.trim()删除两边的空格 String password = mEtLoginactivityPassword.getText().toString().trim(); if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(password)) {//TextUtils.isEmpty()输入框是空值或者你就敲了几下空格键该方法都会返回true ArrayList data = mDBOpenHelper.getAllData();//data为获取的user表内的user信息 boolean match = false; for (int i = 0; i < data.size(); i++) {//遍历比较 User user = data.get(i);//获取data里的第i个user信息 if (name.equals(user.getName()) && password.equals(user.getPassword())) {//将信息与输入的信息进行对比 match = true; break; } else { match = false; } } if (match) { Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish();//销毁此Activity } else { Toast.makeText(this, "用户名或密码不正确,请重新输入", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, "请输入你的用户名或密码", Toast.LENGTH_SHORT).show(); } break; } }} activity_register.xml
RegisterActivity
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.ImageView;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class RegisterActivity extends AppCompatActivity implements View.OnClickListener { private DBOpenHelper mDBOpenHelper; private Button mBtRegisteractivityRegister; private ImageView mIvRegisteractivityBack; private EditText mEtRegisteractivityUsername; private EditText mEtRegisteractivityPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); initView(); mDBOpenHelper = new DBOpenHelper(this); } private void initView(){ mEtRegisteractivityUsername = findViewById(R.id.et_registeractivity_username); mEtRegisteractivityPassword = findViewById(R.id.et_registeractivity_password);} public void onClick(View view) { switch (view.getId()) { case R.id.iv_registeractivity_back: //返回登录页面 Intent intent1 = new Intent(this, LoginActivity.class); startActivity(intent1); finish(); break; case R.id.bt_registeractivity_register: //注册按钮 //获取用户输入的用户名、密码、验证码 String username = mEtRegisteractivityUsername.getText().toString().trim(); String password = mEtRegisteractivityPassword.getText().toString().trim(); //注册验证 if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password)) { mDBOpenHelper.add(username, password);//将用户名和密码加入到数据库的表内中 Intent intent2 = new Intent(this, LoginActivity.class); startActivity(intent2); finish(); Toast.makeText(this, "验证通过,注册成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "未完善信息,注册失败", Toast.LENGTH_SHORT).show(); } break; } }}实现效果
到此,相信大家对"Android基于Sqlite怎么实现注册和登录功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
信息
用户
登录
密码
数据
用户名
输入
数据库
功能
验证
成功
一行
内容
方法
空格
学习
查询
实用
更深
上下
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
圆梦互联网科技
港股互联网科技股
互联网金融科技平台
有木互联网科技
互联网科技logo设计
互联网科技logo
互联网 新科技
广州慧亚互联网科技怎么样
来此购互联网科技有限公司
中国航天科技大学国际工业互联网
爱医互联网络科技
互联网科技如何创业
南博望互联网科技有限公司
怎样加入科技互联网
中天科技中国工业互联网
工业互联网科技成果转化
西安有哪些互联网高科技企业
陕西九四连强互联网科技有限公司
杭州科技互联网公司有哪些
中智农互联网科技
互联网科技财经
互联网 视角下的科技创新
中正互联网科技招聘
广州慧亚互联网科技怎么样
彤创互联网科技有限公司
链环科技传统企业怎么转型互联网
畅思互联网科技
广东工业互联网大赛深圳学泰科技
江苏互联网智能科技软件