找不到方法 getDatabasesPath 的实现
No implementation found for method getDatabasesPath
我看到很多人有类似的问题。但是,到目前为止我找不到解决方案。
我正在构建一个 Android 应用程序,我已经在其中实现了一些蓝牙功能。我现在想做的是创建一个数据库来存储蓝牙设备的配置。为此,我使用了 sqflite
和 path
插件。实施后我收到以下错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite)
我的打开数据库函数:
Database _database = await openDatabase(
join(await getDatabasesPath(), 'dataset.db'),
onCreate: (db, version) {
return db.execute(
"CREATE TABLE datasets(id INTEGER PRIMARY KEY, dataset TEXT)"
);
},
version: 1,
);
return _database;
}
所以我终于弄明白了。问题出在 GeneratedRegistrantPlugin 中。通常它应该注册所有来到原生平台的 Flutter 插件。但是,在我的情况下什么也没有(它是在 flutter pub get 期间生成的)。经过调查,我从我的项目中删除了不必要的文件夹示例,它最终允许 GeneratedRegistrantPlugin 正确生成。
我看到很多人有类似的问题。但是,到目前为止我找不到解决方案。
我正在构建一个 Android 应用程序,我已经在其中实现了一些蓝牙功能。我现在想做的是创建一个数据库来存储蓝牙设备的配置。为此,我使用了 sqflite
和 path
插件。实施后我收到以下错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite)
我的打开数据库函数:
Database _database = await openDatabase(
join(await getDatabasesPath(), 'dataset.db'),
onCreate: (db, version) {
return db.execute(
"CREATE TABLE datasets(id INTEGER PRIMARY KEY, dataset TEXT)"
);
},
version: 1,
);
return _database;
}
所以我终于弄明白了。问题出在 GeneratedRegistrantPlugin 中。通常它应该注册所有来到原生平台的 Flutter 插件。但是,在我的情况下什么也没有(它是在 flutter pub get 期间生成的)。经过调查,我从我的项目中删除了不必要的文件夹示例,它最终允许 GeneratedRegistrantPlugin 正确生成。