-
sqflite: 是一款轻量级的关系型数据库,类似SQLite. 支持iOS和Android。适用于存储数据库 , 表类型的数据.
-
使用:
-
添加依赖
-
dependencies: flutter: sdk: flutter ... #sqflite插件 sqflite: ^1.1.6+1
先练习一下官方文档上面的一些基础使用方法
-
_createDB() async { //获取数据库默认路径 var databasePath = await getDatabasesPath(); print('database default path is $databasePath'); //join 需要import 'package:path/path.dart'; String path = join(databasePath, 'order.db'); await deleteDatabase(path); //打开数据库 Database database = await openDatabase(path, version: 1, onCreate: (Database db, int version) async { //建表 await db.execute( 'CREATE TABLE Test (id INTEGER PRIMARY KEY, memberName TEXT, dynamicBottom TEXT, productName TEXT)'); }); //insert await database.transaction((txn) async { int id1 = await txn.rawInsert( 'INSERT INTO Test(memberName, dynamicBottom, productName) VALUES("岑需顿", "2019/07/12创建", "2018款 朗逸 1.5L 手动风尚版")'); print('inserted1: $id1'); int id2 = await txn.rawInsert( 'INSERT INTO Test(memberName, dynamicBottom, productName) VALUES("余界才", "2019/07/10创建", "2018款 朗逸 1.5L 手动风尚版")'); print('inserted2: $id2'); }); //update // int count = await database.rawUpdate( // 'UPDATE Test SET name = ?, VALUE = ? WHERE name = ?', // ['updated name', '9876', 'some name']); // print('updated: $count'); List<Map> list = await database.rawQuery('SELECT * FROM Test'); print(list); // Close the database await database.close(); }
然后以一个实际的订单列表页为例,做一下数据的存储,下面是我的书写代码的流程:
flutter 数据持久化之sqflite
最新推荐文章于 2024-05-12 09:30:30 发布