「Android 数据库操作」——实现数据存储与读取 (android 数据库 操作)

Android 数据库操作:实现数据存储与读取

在开发 Android 应用程序时,常常需要使用数据库进行数据的存储与读取。Android 支持多种数据库,包括 SQLite、Realm 等。本文将以 SQLite 数据库为例,介绍 Android 数据库操作的实现方法,包括建表、增删改查等操作。

一、SQLite 数据库的创建与打开

在 Android 应用程序中创建 SQLite 数据库,可以通过使用 SQLiteOpenHelper 类。该类提供了创建、打开、更新数据库的方法。

在使用 SQLiteOpenHelper 类创建数据库时,需要重写该类的 onCreate() 方法和 onUpgrade() 方法。onCreate() 方法在数据库被创建时调用,通常用于创建数据库表、初始化数据等操作。onUpgrade() 方法在数据库版本升级时调用,可以用于更新表结构、修改数据等操作。

以下是一个创建数据库的例子:

“`java

public class MyDatabaseHelper extends SQLiteOpenHelper {

public static final String CREATE_BOOK = “create table Book (“

+ “id integer primary key autoincrement, “

+ “author text, “

+ “price real, “

+ “pages integer, “

+ “name text)”;

public MyDatabaseHelper(Context context, String name,

SQLiteDatabase.CursorFactory factory, int version) {

super(context, name, factory, version);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(CREATE_BOOK);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// do something when upgrading

}

}

“`

在上面的例子中,我们创建了一个名为 Book 的表,该表包含四个字段:id(主键)、author(作者)、price(价格)、pages(页数)和 name(书名)。

二、数据库表的增删改查操作

在实现 Android 数据库操作中,增删改查是最基本的操作。下面我们将详细介绍如何进行这些操作。

1. 插入数据

向数据库表中插入数据,可以使用 SQLiteDatabase 中的 insert() 方法。该方法需要传递三个参数:表名、空列的默认值和要插入的数据。以下是一个插入数据的例子:

“`java

ContentValues values = new ContentValues();

values.put(“author”, “Tom”);

values.put(“price”, 20.3);

values.put(“pages”, 300);

values.put(“name”, “Android Development”);

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.insert(“Book”, null, values);

“`

在上面的例子中,我们首先创建了一个 ContentValues 对象,用于存储要插入的数据。然后通过 getWritableDatabase() 方法获取 SQLiteDatabase 对象,调用 insert() 方法向 Book 表中插入数据。

2. 更新数据

更新数据库表中的数据,可以使用 SQLiteDatabase 中的 update() 方法。该方法需要传递四个参数:表名、更新的数据、更新的条件和更新的条件参数。以下是一个更新数据的例子:

“`java

ContentValues values = new ContentValues();

values.put(“price”, 30.5);

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.update(“Book”, values, “name = ?”, new String[] { “Android Development” });

“`

在上面的例子中,我们首先创建了一个 ContentValues 对象,用于存储要更新的数据。然后通过 getWritableDatabase() 方法获取 SQLiteDatabase 对象,调用 update() 方法更新 Book 表中名为 Android Development 的书的价格。

3. 删除数据

从数据库表中删除数据,可以使用 SQLiteDatabase 中的 delete() 方法。该方法需要传递三个参数:表名、删除条件和删除条件参数。以下是一个删除数据的例子:

“`java

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.delete(“Book”, “pages > ?”, new String[] { “500” });

“`

在上面的例子中,我们通过 getWritableDatabase() 方法获取 SQLiteDatabase 对象,调用 delete() 方法删除 Book 表中页数大于 500 的书。

4. 查询数据

从数据库表中查询数据,可以使用 SQLiteDatabase 中的 query() 方法。该方法需要传递七个参数:表名、返回的字段、查询条件、查询条件参数、分组条件、having 条件和排序条件。

以下是一个查询数据的例子:

“`java

SQLiteDatabase db = dbHelper.getWritableDatabase();

Cursor cursor = db.query(“Book”, null, null, null, null, null, null);

if (cursor.moveToFirst()) {

do {

String author = cursor.getString(cursor.getColumnIndex(“author”));

String name = cursor.getString(cursor.getColumnIndex(“name”));

double price = cursor.getDouble(cursor.getColumnIndex(“price”));

int pages = cursor.getInt(cursor.getColumnIndex(“pages”));

} while (cursor.moveToNext());

}

cursor.close();

“`

在上面的例子中,我们通过 getWritableDatabase() 方法获取 SQLiteDatabase 对象,调用 query() 方法查询 Book 表中的所有数据。然后通过 moveToFirst() 和 moveToNext() 方法遍历查询结果,获取想要的数据。

三、

通过本文,我们了解了 Android 数据库操作的实现方法,包括 SQLite 数据库的创建与打开、数据库表的增删改查等操作。在实际开发中,我们可以根据实际需要,灵活运用这些操作,实现数据的存储与读取。


数据运维技术 » 「Android 数据库操作」——实现数据存储与读取 (android 数据库 操作)