Android连接SqLite存储实现登录注册

 sqlite的优点

一、技术上的优点和特性
  SQLite是一个轻量级、跨平台的关系型数据库。既然号称关系型数据库,支持SQL92标准中常用的玩意儿(比如视图、事务、触发器等)就是理所当然的了,咱今天就不细说了。今天主要聊聊一些有点特色的玩意儿。
  1、轻量级
  先说它的第一个特色:轻量级。想必SQLite的作者很看重这个特性,连它的Logo都是用的“羽毛”,来显摆它的轻飘飘。
  SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态 库,就可以享受它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、Linux下347KB。
  2、绿色软件
  SQLite的另外一个特点是绿色:它的核心引擎本身不依赖第三方的软件,使用它也不需要“安装”。所以在部署的时候能够省去不少麻烦。
  3、单一文件
  所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。

项目介绍

本次的APP主要要实现两个功能:
1、实现数据库的操作(创建数据库、存入数据——注册、查询并使用数据——登录)。
2、基本的页面跳转以及跳转时数据的携带。

布局文件

1、 创建一个布局文件(activity_login.xml)
在`res/layout`文件夹中创建一个名为`activity_login.xml`的布局文件。添加一个`TextView`用于显示登录名和密码,一个`EditText`用于输入用户名和密码,和一个`Button`用于提交登录请求:

<?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:orientation="vertical"
    tools:context=".Login">

    <ImageView
        android:id="@+id/LogoImage"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:layout_marginTop="10dp"
        android:src="@drawable/dd"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical"
        >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="用户名:"
        android:layout_marginTop="30dp"
        android:textSize="25dp"
        android:textColor="#000000"
        android:layout_weight="1"/>
    <EditText
        android:id="@+id/userName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="请输入用户名"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,需要在Android Studio中创建一个新项目。在创建项目时,需要选择Empty Activity模板,然后按照向导进行操作即可。 接下来,在项目中添加SQLite库。可以通过在build.gradle文件中添加以下内容来实现: ``` dependencies { implementation 'com.android.support:support-sqlite:28.0.0' } ``` 然后,在项目中创建SQLiteOpenHelper类。这个类用于创建和升级数据库。例如: ``` public class DBHelper extends SQLiteOpenHelper { private static final String DB_NAME = "myapp.db"; private static final int DB_VERSION = 1; public DBHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, " + "username TEXT, password TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // This method is called when the database needs to be upgraded. // Here you can add code to alter the database schema and/or data. } } ``` 在上面的代码中,我们创建了一个名为“users”的表,其中包含三个列:_id(主键)、username和password。这些列分别存储用户ID、用户名和密码。 接下来,在MainActivity中实现登录和注册功能。首先,我们需要为登录和注册按钮添加点击事件监听器。例如: ``` Button loginBtn = findViewById(R.id.loginBtn); loginBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Handle login button click event } }); Button registerBtn = findViewById(R.id.registerBtn); registerBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Handle register button click event } }); ``` 接着,我们需要在登录和注册按钮的事件处理程序中编写代码。首先,让我们看看如何处理注册事件。例如: ``` EditText usernameEditText = findViewById(R.id.usernameEditText); EditText passwordEditText = findViewById(R.id.passwordEditText); String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (username.isEmpty() || password.isEmpty()) { Toast.makeText(MainActivity.this, "Please enter both username and password.", Toast.LENGTH_SHORT).show(); } else { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("username", username); values.put("password", password); long newRowId = db.insert("users", null, values); Toast.makeText(MainActivity.this, "Registration successful.", Toast.LENGTH_SHORT).show(); } ``` 在上面的代码中,我们首先获取用户名和密码。然后,我们检查这些值是否为空。如果是,我们向用户显示一个消息。否则,我们打开数据库连接并将用户名和密码插入到“users”表中。最后,我们向用户显示一个注册成功的消息。 接下来,让我们看一下如何处理登录事件。例如: ``` EditText usernameEditText = findViewById(R.id.usernameEditText); EditText passwordEditText = findViewById(R.id.passwordEditText); String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (username.isEmpty() || password.isEmpty()) { Toast.makeText(MainActivity.this, "Please enter both username and password.", Toast.LENGTH_SHORT).show(); } else { SQLiteDatabase db = dbHelper.getReadableDatabase(); String[] projection = { "_id" }; String selection = "username = ? AND password = ?"; String[] selectionArgs = { username, password }; Cursor cursor = db.query( "users", projection, selection, selectionArgs, null, null, null ); if (cursor.moveToFirst()) { Toast.makeText(MainActivity.this, "Login successful.", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "Invalid username or password.", Toast.LENGTH_SHORT).show(); } } ``` 在上面的代码中,我们首先获取用户名和密码。然后,我们检查这些值是否为空。如果是,我们向用户显示一个消息。否则,我们打开数据库连接并查询“users”表以查找具有给定用户名和密码的用户。如果找到了这样的用户,我们向用户显示一个登录成功的消息。否则,我们向用户显示一个无效的用户名或密码的消息。 以上就是Android Studio连接SQLite实现登录注册代码的详细解析。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值