Я пытаюсь создать из MyDatabase одноэлементный класс с конструктором по умолчанию для доступа к getUserDao
в этом классе, реализованный код работает нормально, но у меня есть некоторые другие проблемы с этим, как
- iЯ должен использовать
async
и await
вне класса - Я должен использовать это только для функции
main
, потому что основной метод должен быть асинхронным
, например:
мой синглтон-класс:
class MydbModel {
UserDao _userDao;
MydbModel._(this._userDao);
static Future<MydbModel> create() async => MydbModel._(await initialDatabase());
static Future<UserDao> initialDatabase() async {
var db = await $FloorAppDatabase.databaseBuilder('flutter_database.db').build();
return db.userDao;
}
UserDao get userDao=>_userDao;
}
и основной класс:
main() async {
var mydbModel = await MydbModel.create();
print(mydbModel.userDao);
}
Мне нужно определить это только для метода main
, и я не могу использовать его дляStatefulWidget
или State<Classname
классов, и когда я пытаюсь использовать этот экземпляр, я должен передать его для всех классов
как я могу решить эту проблемупроблема просто использовать класс во всей части приложения?
например:
main() {
var userDao = MydbModel.create().then((dao){
return dao;
});
print(userDao);
}