Android SQLite3数据库操作

甜蜜旋律 2024-06-02 ⋅ 27 阅读

引言

SQLite是一款轻量级的嵌入式数据库,适用于在Android应用程序中存储和管理数据。本文将介绍如何在Android应用程序中进行SQLite3数据库操作。

环境搭建

在开始之前,我们需要搭建好Android开发环境,并在项目中引入SQLite库。

在app模块的build.gradle文件中添加以下依赖项:

implementation 'androidx.sqlite:sqlite:2.1.0'

创建数据库

首先,我们需要创建一个继承自SQLiteOpenHelper的类来辅助我们创建和管理数据库。

public class DBHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "mydatabase.db";
    private static final int DATABASE_VERSION = 1;

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建表的SQL语句
        String CREATE_TABLE = "CREATE TABLE contacts (id INTEGER PRIMARY KEY, name TEXT, phone TEXT)";
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 更新表结构的SQL语句
        String DROP_TABLE = "DROP TABLE IF EXISTS contacts";
        db.execSQL(DROP_TABLE);
        onCreate(db);
    }
}

在创建完DBHelper类后,我们就可以在需要使用数据库的地方创建一个数据库实例。

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

插入数据

要插入新的数据行,我们可以使用insert()方法。

ContentValues values = new ContentValues();
values.put("name", "John");
values.put("phone", "1234567890");

db.insert("contacts", null, values);

查询数据

要查询数据行,我们可以使用query()方法。

String[] projection = {"id", "name", "phone"};
String selection = "name = ?";
String[] selectionArgs = {"John"};
String sortOrder = "name ASC";

Cursor cursor = db.query("contacts", projection, selection, selectionArgs, null, null, sortOrder);

if (cursor.moveToFirst()) {
    do {
        int id = cursor.getInt(cursor.getColumnIndexOrThrow("id"));
        String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
        String phone = cursor.getString(cursor.getColumnIndexOrThrow("phone"));

        // 处理查询结果
    } while (cursor.moveToNext());
}

cursor.close();

更新数据

要更新数据行,我们可以使用update()方法。

ContentValues values = new ContentValues();
values.put("phone", "0987654321");

String selection = "name = ?";
String[] selectionArgs = {"John"};

db.update("contacts", values, selection, selectionArgs);

删除数据

要删除数据行,我们可以使用delete()方法。

String selection = "name = ?";
String[] selectionArgs = {"John"};

db.delete("contacts", selection, selectionArgs);

结语

通过学习Android中SQLite3数据库的基本操作,我们可以利用它来存储和管理应用程序中的数据。希望本文对你有所帮助。

如果你有任何问题或建议,请在评论区留言。感谢阅读!

参考资料


全部评论: 0

    我有话说: