面试题答案
一键面试- 添加依赖:
在
pubspec.yaml
文件中添加sqflite
依赖:
然后运行dependencies: sqflite: ^2.2.1
flutter pub get
获取依赖。 - 创建数据库:
- 关键类:
sqflite
库中的databaseFactory
,Database
类。 - 关键方法:
openDatabase
。 - 示例代码:
import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; Future<Database> createDatabase() async { final databasesPath = await getDatabasesPath(); final path = join(databasesPath, 'example.db'); return openDatabase( path, version: 1, onCreate: (Database db, int version) async { await db.execute(''' CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ) '''); }, ); }
- 关键类:
- 插入数据:
- 关键类:
Database
类。 - 关键方法:
insert
。 - 示例代码:
Future<void> insertData() async { final db = await createDatabase(); await db.insert( 'users', {'name': 'John', 'age': 30}, conflictAlgorithm: ConflictAlgorithm.replace, ); }
- 关键类:
在上述代码中,首先通过openDatabase
方法创建或打开数据库,并在onCreate
回调中创建了一个名为users
的表。然后通过insert
方法向users
表中插入了一条数据。注意insert
方法中的conflictAlgorithm
参数用于指定当插入数据发生冲突时的处理策略。