Android SQLite数据库使用教程
1. 概述
在Android开发中,使用SQLite数据库是非常常见的。SQLite是一种轻量级的关系型数据库,可以在Android设备中存储和检索数据。本教程将向你介绍如何在Android应用中使用SQLite数据库。
2. 整体流程
下面是使用Android SQLite数据库的整体流程:
步骤 | 描述 |
---|---|
1 | 创建数据库和数据表 |
2 | 打开数据库连接 |
3 | 执行SQL查询 |
4 | 处理查询结果 |
5 | 关闭数据库连接 |
下面将详细介绍每个步骤所需的代码和操作。
3. 创建数据库和数据表
首先,你需要创建一个继承自SQLiteOpenHelper
的数据库助手类。在该类中,你需要实现onCreate()
方法和onUpgrade()
方法。onCreate()
方法在数据库第一次创建时被调用,用于创建数据表。onUpgrade()
方法在数据库版本升级时被调用,用于更新数据表。
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) {
String query = "CREATE TABLE mytable (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXISTS mytable";
db.execSQL(query);
onCreate(db);
}
}
4. 打开数据库连接
在你的Activity或Fragment中,你需要创建一个DBHelper对象,并调用getWritableDatabase()
方法获取可写数据库连接。
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
5. 执行SQL查询
一旦你获得了数据库连接,你可以执行SQL查询。这里以插入一条数据为例。
ContentValues values = new ContentValues();
values.put("name", "John Doe");
long id = db.insert("mytable", null, values);
6. 处理查询结果
你可以使用SQLiteDatabase的查询方法来检索数据。下面是一个简单的例子,查询并打印出所有数据。
String[] columns = {"id", "name"};
Cursor cursor = db.query("mytable", columns, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
Log.d("TAG", "ID: " + id + ", Name: " + name);
} while (cursor.moveToNext());
}
cursor.close();
7. 关闭数据库连接
在你不再需要数据库连接时,记得关闭它。
db.close();
类图
下面是相关类的类图表示:
classDiagram
class DBHelper {
- DATABASE_NAME: String
- DATABASE_VERSION: int
+ DBHelper(Context context)
+ onCreate(SQLiteDatabase db): void
+ onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion): void
}
class SQLiteDatabase {
+ insert(String table, String nullColumnHack, ContentValues values): long
+ query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy): Cursor
+ close(): void
}
class Cursor {
+ moveToFirst(): boolean
+ moveToNext(): boolean
+ getInt(int columnIndex): int
+ getString(int columnIndex): String
+ getColumnIndex(String columnName): int
+ close(): void
}
状态图
下面是数据库连接的状态图表示:
stateDiagram
[*] --> Closed
Closed --> Opened: open()
Opened --> Closed: close()
Opened --> Opened: executeQuery()
结论
通过本教程,你学会了如何在Android应用中使用SQLite数据库。首先,你需要创建数据库和数据表。然后,你需要打开数据库连接并执行SQL查询。最后,记得在不需要数据库连接时及时关闭它。使用SQLite数据库可以方便地存储和检索数据,为你的应用增加更多的功能和灵活性。祝你在Android开发中取得成功!