Инициализация переменной экземпляра внутри класса flutter SQFlite

#flutter #dart #sqflite

Вопрос:

Я пытаюсь реализовать постоянное хранилище в своем приложении flutter с помощью пакета SQFlite. Создавая класс , чтобы сделать то же самое, я запутался в части инициализации БД из хранилища. Это код для инициализации переменной базы данных

 _db = await db1._checkDB;
 

Теперь мой класс базы данных выглядит так, как указано ниже

 class DB {
  static DB db1 = DB();
  Database? _db;
  String _tableName = 'images';

  get _checkDB async {
    if (_db != null)
      return _db;
    else {
      _db = await _openDB('images.db');
      return _db;
    }
  }
}
 

Мой вопрос в том, почему я не могу использовать приведенный ниже код для инициализации своей базы данных

 _db = await _checkDB();
 

Когда я использую приведенную выше команду для инициализации своей базы данных и чтения из нее, всегда возвращается значение null.

Ответ №1:

Потому что у вас нет экземпляра класса?

Сделай это так, как:

 DB database = new DB();
_db = await database.checkDB();