📜  如何从Android中的SQLite数据库读取数据?(1)

📅  最后修改于: 2023-12-03 15:37:55.185000             🧑  作者: Mango

如何从Android中的SQLite数据库读取数据?

1. 确认依赖

首先需要在项目的build.gradle文件中添加以下依赖:

implementation 'androidx.sqlite:sqlite:2.1.0'
2. 创建SQLite数据库

在Android中,数据库是由SQLite实现的,我们需要创建一个SQLiteOpenHelper类去创建和更新数据库,以及提供一个getReadableDatabase()或getWritableDatabase()方法来获取一个可读或可写的数据库实例。

public class MyDatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "my_database.db";
    private static final int DATABASE_VERSION = 1;

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, phone TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 定义升级操作
    }
}
3. 执行查询

我们需要一个Cursor对象来检索数据库的内容,使用以下代码执行查询:

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

String[] columns = {"_id", "name", "phone"};
String selection = "name = ?";
String[] selectionArgs = {"John"};
Cursor cursor = db.query("contacts", columns, selection, selectionArgs, null, null, null);

while(cursor.moveToNext()) {
    int id = cursor.getInt(cursor.getColumnIndex("_id"));
    String name = cursor.getString(cursor.getColumnIndex("name"));
    String phone = cursor.getString(cursor.getColumnIndex("phone"));
}
cursor.close();
4. 关闭数据库

使用完毕之后,要记得关闭数据库:

db.close();
结论

以上就是从Android中的SQLite数据库读取数据的方法,通过以上步骤,您可以在您的项目中轻松读取数据并使用它。