我是flutter的初学者,想在我的Flutter应用程序中使用sqflite包来使用SQlite数据库。由于模拟器无法正常工作,我将我的flutter app运行在chrome上。我在代码中使用
但我不知道如何设置特定于web的目录。
我的代码是:
getApplicationDocumentsDirectory
,但是出现了一个错误:
Error: MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)
我在一篇文章中读到:
我在将Web支持添加到应用程序之后遇到了这个问题。 getApplicationDocumentsDirectory函数仅支持iOS和Android(文档)。 我增加了对Web的检查,并更改了设置目录的方式,这为我解决了“没有找到方法的实现”的问题。
要确定平台是否为Web,请使用Flutter的kIsWeb:
Then handle setting the directory accordingly:
if (kIsWeb) {
// Set web-specific directory
} else {
appDocumentDirectory = await path_provider.getApplicationDocumentsDirectory();
}
但我不知道如何设置特定于web的目录。
我的代码是:
if (_database != null) {
return _database;
}
_database = await _initializeDatabase();
return _database;
}
Future<Database> _initializeDatabase() async {
Directory directory = await getApplicationDocumentsDirectory();
String path = join(directory.path, 'annonce_database.db');
return await openDatabase(path, version: _dbVersion, onCreate: _onCreate);
}```