我正在尝试使用 floor在 flutter 中使用简单数据库的库
这个库的简单实现是:
Future<void> main() async {
final database = await $FloorFlutterDatabase
.databaseBuilder('flutter_database.db')
.build();
final dao = database.taskDao;
runApp(FloorApp(dao));
}
在我的实现代码中,我无法从数据库访问 taskDao。例如:
var dao = db.taskDao
我的
DatabaseHelper
类(class):class DatabaseHelper{
static final _databaseName = "flutter_database.db";
DatabaseHelper._privateConstructor();
static final DatabaseHelper instance = DatabaseHelper._privateConstructor();
static $FloorAppDatabase _database;
static var dao;
Future<$FloorAppDatabase> get database async{
if(_database !=null){
return _database;
}
_database = await _initDatabase();
return _database;
}
_initDatabase() async{
return await $FloorAppDatabase
.databaseBuilder(_databaseName)
.build();
}
}
main
使用它的类:void main() async {
$FloorAppDatabase db = await DatabaseHelper.instance.database;
//var dao = db.
}
最佳答案
我建议您检查 get_it 库...以在全局范围内获取懒惰的单例。
还尝试从连接到使用 Future.delayed 模拟它们的数据库调试 future ,看看它是否工作正常......(没有库)
关于flutter - 制作一个简单的单实例类作为数据库助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497896/