
安卓平台上的SQLite数据库基础示例。
5星
- 浏览量: 0
- 大小:None
- 文件类型:ZIP
简介:
在Android应用开发过程中,SQLite扮演着至关重要的角色,它是一种轻量级的、开放源代码的、内嵌式的SQL数据库引擎,专门用于管理应用程序内部的数据存储需求。SQLite数据库在Android操作系统中得到了广泛应用,这主要归功于其卓越的性能表现、便捷的操作方式以及无需独立运行服务的特性。接下来,我们将深入剖析如何在Android平台上完成SQLite数据库的创建、检索、修改和删除(CRUD)操作的具体步骤。
1. **构建SQLite数据库**
在Android开发中,首要步骤是实例化一个`SQLiteOpenHelper`的派生类,该类肩负着管理数据库的创建和版本演进的职责。为了定义数据库的初始架构,我们需要重写`onCreate()`方法;同时,`onUpgrade()`方法的重写则用于处理数据库结构的升级操作。
```java
public class DatabaseHelper extends SQLiteOpenHelper {
数据库版本号
private static final int DATABASE_VERSION = 1;
数据库名
private static final String DATABASE_NAME = SQLiteDemo.db;
数据库创建语句
private static final String CREATE_TABLE = CREATE TABLE + YourTableName + (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ column1 TEXT,
+ column2 INTEGER + );;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(DROP TABLE IF EXISTS + YourTableName);
onCreate(db);
}
}
```
2. **数据库插入数据 (Create)**
通过调用`SQLiteOpenHelper`类中的`getWritableDatabase()`或`getReadableDatabase()`方法,获取数据库的写入或读取实例,随后利用`execSQL()`函数执行相应的INSERT语句,从而将数据成功地添加到数据库中。
```java
public void insertData(String column1Value, int column2Value) {
SQLiteDatabase db = this.getWritableDatabase();
String query = INSERT INTO + YourTableName + (column1, column2) VALUES (?, ?);
SQLiteStatement stmt = db.compileStatement(query);
stmt.bindString(1, column1Value);
stmt.bindLong(2, column2Value);
stmt.execute();
db.close();
}
```
3. **数据检索(Read)**
通过调用`rawQuery()`方法来执行SELECT语句,该方法通常会返回一个`Cursor`对象,这个对象能够用于遍历和访问查询所得的结果集。
```java
public Cursor getAllData() {
SQLiteDatabase db = this.getWritableDatabase();
String query = SELECT * FROM + YourTableName;
Cursor cursor = db.rawQuery(query, null);
return cursor;
}
```
4. **数据更新 (Update)**
数据更新操作通过调用 `update()` 方法进行,并需指定明确的更新条件以确保数据的准确性。
```java
public void updateData(int id, String newColumn1Value, int newColumn2Value) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(column1, newColumn1Value);
contentValues.put(column2, newColumn2Value);
db.update(YourTableName, contentValues, id=?, new String[]{String.valueOf(id)});
db.close();
}
```
5. **删除数据 (Delete)**
通过调用 `delete()` 方法,可以实现数据的移除。 这一操作同样需要明确指定用于筛选数据的删除条件,以确保准确性。
```java
public void deleteData(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(YourTableName, id=?, new String[]{String.valueOf(id)});
db.close();
}
```
6. **提供示例**
在Activity或Fragment中,您可以实例化`DatabaseHelper`类并利用其所提供的各种方法。
```java
DatabaseHelper dbHelper = new DatabaseHelper(this);
dbHelper.insertData(Sample Text, 123);
Cursor cursor = dbHelper.getAllData();
遍历并处理Cursor结果
cursor.close();
dbHelper.deleteData(1); 假设id为1的数据要被删除
```
以下是利用Android平台和SQLite数据库执行CRUD(创建、读取、更新、删除)操作的详细流程。在实际应用开发中,开发者往往会遇到更为复杂的查询需求,例如涉及关联查询和子查询的场景。与此同时,务必重视线程安全问题,避免在主线程中执行数据库操作,以规避可能发生的ANR(应用程序未响应)错误。 此外,建议采用Google提供的Room库,它作为SQLite数据库交互的一种抽象层,能够显著提升开发效率和安全性。 Room库通过编译时的代码检查以及提供更为完善的API,助力Android开发者更高效地管理SQLite数据库。
全部评论 (0)


