-
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();
}
然后以一个实际的订单列表页为例,做一下数据的存储,下面是我的书写代码的流程:
-
1.首先做一个列表的页面,就不放代码了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)