如何编写Android登录代码以连接数据库?

Android 登录代码数据库

如何编写Android登录代码以连接数据库?

在 Android 开发中,使用 SQLite 数据库进行用户登录和注册是一个常见的需求,本文将详细介绍如何在 Android Studio 中使用 SQLite 数据库实现登录和注册功能,并附上示例代码。

一、创建 SQLite 数据库

我们需要创建一个 SQLite 数据库来存储用户数据,为此,请执行以下步骤:

1、创建 DBHelper 类:在你的项目中创建一个名为DBHelper 的类,它扩展自SQLiteOpenHelper

2、实现 onCreate() 方法:该方法将在数据库首次创建时调用,在这个方法中,我们使用execSQL() 方法创建一个名为userInfo 的表,其中包含uname(用户名)和psw(密码)列。

3、实现 onUpgrade() 方法:该方法将在数据库版本更改时调用,在这个方法中,你可以执行必要的更新操作。

package com.example.loginandregister;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
    public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建一个表
        String SQLstr = "create table userInfo(uname text,psw text)";
        db.execSQL(SQLstr);
        // 往表里边插入一个数据
        SQLstr = "insert into userInfo(uname,psw) values('admin','123456')";
        db.execSQL(SQLstr);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 在这里执行数据库升级操作
    }
}

二、实现登录功能

要实现登录功能,请执行以下步骤:

1、获取用户名和密码输入框的引用

2、使用 DBHelper 类获取数据库的可写实例

如何编写Android登录代码以连接数据库?

3、执行 SQL 查询以检查输入的用户名和密码是否与数据库中的记录匹配

4、如果查询结果不为空,则表示找到了匹配的记录,并显示“登录成功”的消息;否则,显示“用户名或密码输入错误”的消息

package com.example.login;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class Login extends AppCompatActivity {
    private DBHelper dbHelper;
    private EditText edit1, edit2;
    private Button login;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        dbHelper = new DBHelper(this,"aaa.db",null,1);
        edit1 = (EditText) findViewById(R.id.idd);
        edit2 = (EditText) findViewById(R.id.password);
        login = (Button) findViewById(R.id.login);
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SQLiteDatabase db1 = dbHelper.getWritableDatabase();
                Cursor cursor = db1.query("aaa", null, null, null, null, null);
                int a = 0;
                if(cursor.moveToFirst()){
                    do{
                        String idd = cursor.getString(cursor.getColumnIndex("id"));
                        String pass = cursor.getString(cursor.getColumnIndex("pass"));
                        if(edit1.getText().toString().equals(idd) && edit2.getText().toString().equals(pass))
                            a = 1;
                    }while (cursor.moveToNext());
                }
                cursor.close();
                if(a == 1){
                    edit2.setText("");
                    Intent intent = new Intent();
                    intent.setClass(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                } else {
                    Toast.makeText(getApplicationContext(),"用户名或密码错误!",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

三、实现注册功能

要实现注册功能,请执行以下步骤:

1、获取用户名和密码输入框的引用

2、使用 DBHelper 类获取数据库的可写实例

3、检查用户名和密码是否为空,如果为空,则显示“用户名或密码未输入”的消息。

4、执行 SQL 查询以检查输入的用户名是否已存在,如果存在,则显示“用户名已存在”的消息;否则,可以进行注册。

5、使用 ContentValues 对象创建包含用户名和密码的新记录

如何编写Android登录代码以连接数据库?

6、使用 insert() 方法将新记录插入到数据库中

7、显示“注册成功”的消息,并跳转回登录界面

package com.example.login;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class Register extends AppCompatActivity {
    private DBHelper dbHelper;
    private EditText edit1, edit2;
    private Button adddata;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        dbHelper = new DBHelper(this,"aaa.db",null,1);
        edit1 = (EditText) findViewById(R.id.idd);
        edit2 = (EditText) findViewById(R.id.password);
        adddata = (Button) findViewById(R.id.add_data);
        adddata.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dbHelper.getWritableDatabase();
                Intent intent1 = new Intent();
                intent1.setClass(getApplicationContext(),Enroll.class);
                startActivity(intent1);
            }
        });
    }
}

四、相关问答栏目

问题1:如何在 SQLite 数据库中添加新的用户记录?

答:在 SQLite 数据库中添加新的用户记录可以使用ContentValues 对象和insert() 方法来实现,在注册功能中,我们可以使用以下代码将新记录插入到数据库中:

SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("uname", edit1.getText().toString());
values.put("psw", edit2.getText().toString());
db.insert("userInfo", null, values);

以上内容就是解答有关“android登录代码数据库”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/636387.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-11-09 20:05
Next 2024-11-09 20:07

相关推荐

  • 如何登录Linux服务器并查看其配置?

    在Linux服务器上查看配置,可以使用以下命令:,,1. 查看CPU信息:cat /proc/cpuinfo,2. 查看内存信息:cat /proc/meminfo,3. 查看硬盘信息:fdisk l,4. 查看操作系统版本:cat /etc/osrelease,5. 查看内核版本:uname r,6. 查看网络配置:ifconfig 或 ip addr,,登录Linux服务器通常使用SSH工具,如PuTTY(Windows)或终端(macOS和Linux)。

    2024-07-21
    045
  • 数据库内连接

    数据库无缝连接使用addl连接MySQL在现代软件开发中,数据库是一个非常重要的组成部分,它用于存储和管理数据,为应用程序提供数据支持,MySQL是一种广泛使用的开源关系型数据库管理系统,具有高性能、稳定性和易用性等优点,在本篇文章中,我们将介绍如何使用addl技术实现数据库无缝连接,以连接到MySQL数据库。1、addl简介addl……

    2024-03-24
    0185
  • 数据库服务器有什么功能

    数据库服务器可以存储、管理和检索大量数据,支持多用户并发访问和数据安全性控制。

    2024-05-18
    0132
  • MySQL数据库的发展历程,从诞生到现代应用经历了多少年?

    MySQL数据库是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。自1995年发布以来,MySQL已经成为世界上最流行的开源数据库之一,广泛应用于各种规模的企业和个人项目中。

    2024-08-12
    045
  • 如何解决Db Error:database connect failed

    检查数据库连接配置,确保主机名、端口、用户名和密码正确。如果问题仍然存在,尝试重启数据库服务或联系数据库管理员寻求帮助。

    2024-05-31
    0120
  • ​如何利用香港云服务器快速搭建网站

    以上命令会更新软件包列表并安装Ubuntu Server操作系统,在安装过程中,需要设置root用户的密码以及其他必要的配置信息,1、安装Web服务器软件在安装好操作系统后,需要安装Web服务器软件才能搭建网站,常见的Web服务器软件包括Apache、Nginx等,以Apache为例,可以使用以下命令进行安装:。CREATE USER 'myuser'@'localhost' IDENTIFI

    2023-12-16
    0127

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入