使用SQLite进行安卓本地数据库操作

薄荷微凉 2021-12-16 ⋅ 23 阅读

SQLite是一种轻量级的关系型数据库,适用于移动设备或嵌入式设备的本地存储。在Android开发中,SQLite是一种常用的本地数据库方案,它提供了简单易用的接口来进行数据库操作。

开始

首先,在你的Android项目中添加对SQLite的依赖。在build.gradle文件中添加以下代码:

implementation 'androidx.sqlite:sqlite:2.1.0'

然后,在你的Java类中导入必要的包:

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

创建数据库和数据表

要使用SQLite进行本地数据库操作,首先需要创建一个数据库以及相应的数据表。我们可以创建一个继承自SQLiteOpenHelper的helper类来处理这些操作。在你的代码中添加以下类:

public class DBHelper extends SQLiteOpenHelper {

    // 数据库名称和版本
    private static final String DATABASE_NAME = "my_database.db";
    private static final int DATABASE_VERSION = 1;

    // 数据表名称和列名
    private static final String TABLE_NAME = "my_table";
    private static final String COLUMN_ID = "id";
    private static final String COLUMN_NAME = "name";

    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建数据表
        String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" +
                COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                COLUMN_NAME + " TEXT)";
        db.execSQL(createTableQuery);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 更新数据库
        String dropTableQuery = "DROP TABLE IF EXISTS " + TABLE_NAME;
        db.execSQL(dropTableQuery);
        onCreate(db);
    }
}

执行数据库操作

现在,我们已经准备好进行数据库操作了。在你的代码中,实例化DBHelper类,并通过它获取一个可写的数据库实例。然后,你可以使用SQLiteDatabase类的方法来执行常见的数据库操作,例如插入、查询、更新和删除。

以下是一些常见的数据库操作示例:

插入数据

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, "John Doe");

long newRowId = db.insert(DBHelper.TABLE_NAME, null, values);

查询数据

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getReadableDatabase();

String[] projection = {DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME};
String selection = DBHelper.COLUMN_NAME + " = ?";
String[] selectionArgs = {"John Doe"};

Cursor cursor = db.query(DBHelper.TABLE_NAME, projection, selection, selectionArgs, null, null, null);

while (cursor.moveToNext()) {
    int id = cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_ID));
    String name = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_NAME));

    // 处理查询结果
}

cursor.close();

更新数据

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, "Jane Smith");

String selection = DBHelper.COLUMN_NAME + " LIKE ?";
String[] selectionArgs = {"John Doe"};

int count = db.update(DBHelper.TABLE_NAME, values, selection, selectionArgs);

删除数据

DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

String selection = DBHelper.COLUMN_NAME + " LIKE ?";
String[] selectionArgs = {"John Doe"};

int count = db.delete(DBHelper.TABLE_NAME, selection, selectionArgs);

以上只是一些SQLite的基本使用方法,你可以根据自己的需求进行更复杂的数据库操作。

总结

通过使用SQLite进行Android本地数据库操作,你可以方便地在移动设备上存储和检索数据。在本文中,我们简要介绍了使用SQLite的基本步骤,包括创建数据库、执行插入、查询、更新和删除等操作。

希望这篇文章对你在Android开发中使用SQLite进行本地数据库操作有所帮助!


全部评论: 0

    我有话说: