插件介绍
fluttertpc_sqlite3 是一个 Flutter 插件,用于在鸿蒙平台上使用 SQLite 数据库。SQLite 是一个轻量级的嵌入式数据库,广泛应用于移动设备和桌面应用中。该插件提供了简单易用的 API 来进行数据库的创建、查询、插入、更新和删除操作。
主要功能包括:
- 数据库管理:可以创建、打开和关闭 SQLite 数据库
- 数据操作:支持 SQL 查询、插入、更新和删除操作
- 事务处理:支持事务操作,确保数据的一致性
- 异步操作:所有数据库操作都支持异步执行,不会阻塞 UI 线程
- 鸿蒙适配:专门针对鸿蒙平台进行了优化和适配
安装与使用
1. 安装方式
在项目的 pubspec.yaml 文件中添加以下依赖配置:
yaml
dependencies:
fluttertpc_sqlite3:
git:
url: "https://atomgit.com/fluttertpc/fluttertpc_sqlite3.git"
执行命令安装依赖:
bash
flutter pub get
2. 基本使用示例
2.1 打开数据库
dart
import 'package:fluttertpc_sqlite3/sqlite3.dart';
Future<void> openDatabase() async {
final db = await SQLite3.openDatabase('test.db');
print('Database opened successfully');
}
2.2 创建表
dart
Future<void> createTable() async {
final db = await SQLite3.openDatabase('test.db');
await db.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
)
''');
print('Table created successfully');
}
2.3 插入数据
dart
Future<void> insertData() async {
final db = await SQLite3.openDatabase('test.db');
await db.execute('''
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')
''');
print('Data inserted successfully');
}
2.4 查询数据
dart
Future<void> queryData() async {
final db = await SQLite3.openDatabase('test.db');
final result = await db.query('SELECT * FROM users');
for (final row in result) {
print('User: ${row['name']} (${row['email']})');
}
}
2.5 更新数据
dart
Future<void> updateData() async {
final db = await SQLite3.openDatabase('test.db');
await db.execute('''
UPDATE users SET name = 'John Smith' WHERE email = 'john@example.com'
''');
print('Data updated successfully');
}
2.6 删除数据
dart
Future<void> deleteData() async {
final db = await SQLite3.openDatabase('test.db');
await db.execute('''
DELETE FROM users WHERE email = 'john@example.com'
''');
print('Data deleted successfully');
}
2.7 事务处理
dart
Future<void> transactionExample() async {
final db = await SQLite3.openDatabase('test.db');
await db.transaction((txn) async {
await txn.execute('''
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')
''');
await txn.execute('''
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com')
''');
});
print('Transaction completed successfully');
}
3. 核心 API 说明
| 方法名 | 功能描述 | 参数说明 | 返回值类型 |
|---|---|---|---|
| openDatabase(String path) | 打开或创建数据库 | path:数据库文件路径 |
Future |
| execute(String sql) | 执行 SQL 语句 | sql:要执行的 SQL 语句 |
Future |
| query(String sql) | 执行查询语句 | sql:要执行的查询语句 |
Future<List<Map<String, dynamic>>> |
| transaction(Future Function(Transaction) action) | 执行事务操作 | action:事务回调函数 |
Future |
| close() | 关闭数据库 | / | Future |
约束与限制
兼容性
该插件已在鸿蒙平台上进行了适配和测试,支持以下环境:
- Flutter: 3.7.12-ohos-1.0.6; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;
- Flutter: 3.22.1-ohos-1.0.1; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;
总结
fluttertpc_sqlite3 插件为鸿蒙平台提供了一个简单易用的 SQLite 数据库操作接口,支持常见的数据库操作和事务处理。通过该插件,开发者可以轻松地在 Flutter 应用中实现数据的持久化存储,适用于各种需要本地数据存储的场景。
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net