在 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 类获取数据库的可写实例。
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 对象创建包含用户名和密码的新记录。
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