微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sqlite 与 Flutter 桌面 Windows?

如何解决Sqlite 与 Flutter 桌面 Windows?

该应用适用于安卓,但不适用于桌面

[ERROR:Flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常:MissingPluginException(No implementation fou nd 用于通道 com.tekartik.sqflite 上的 getDatabasesPath 方法

解决方法

目前 sqflite 仅支持 Android Ios 和 Mac。 或者,您可以使用 Hive 或 sembast。

如果您想对数据库执行查询,我建议您使用 sembast。

这两个包目前都支持所有平台,但是如果您使用 sembast,则必须包含包 sembast_web 以提供网络支持。

包:

Hivehttps://pub.dev/packages/hive

Sembasthttps://pub.dev/packages/sembast

Sembast_webhttps://pub.dev/packages/sembast_web

,

正如评论中所指出的,sqflite_common_ffi 允许在桌面上使用 sqflite API。它不是作为 flutter 插件实现的,因为它也可以在普通的 dart VM 中运行。

您可以阅读 this 以了解如何在桌面上使用现有的 sqflite 代码。但由于解释总是比添加链接更好,以下是基本步骤:

设置

首先添加依赖:

dependencies:
  sqflite_common_ffi:

初始化

然后在运行您的应用程序之前初始化 ffi:

import 'package:sqflite_common_ffi/sqflite_ffi.dart';
import 'package:sqflite/sqflite.dart';

Future main() async {
  if (Platform.isWindows || Platform.isLinux) {
    // Initialize FFI
    sqfliteFfiInit();
    // Change the default factory
    databaseFactory = databaseFactoryFfi;
  }
  runApp(MyApp());
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?