当前位置: 首页 > 知识库问答 >
问题:

基于web的Flutter firebase实时数据库

松灿
2023-03-14

我试图让我的flutter应用程序在浏览器中工作,它依赖于Firebase_database。没有关于如何做到这一点的文档,但我根据firebase_core和firebase_auth文档做了一些假设:

>

  • https://github.com/firebaseextended/flutterfire/tree/master/packages/firebase_core/firebase_core_web

    https://github.com/firebaseextended/flutterfire/tree/master/packages/firebase_auth/firebase_auth_web

    我的应用程序可以在iOS和android上运行,但我在flutter Web上运行数据库遇到了麻烦。

    我已经设置了index.html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Flutter WebRTC Demo</title>
    </head>
    <body>
        <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script>
        <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-database.js"></script>
        <script>
            const firebaseConfig = {
                apiKey: '...',
                authDomain: '...',
                databaseURL: '...',
                projectId: '...',
                storageBucket: '...',
                messagingSenderId: '...',
                appId: '...'
            };
            firebase.initializeApp(firebaseConfig);
        </script>
        <script src="main.dart.js" type="application/javascript"></script>
    </body>
    </html>
    

    但是,当我尝试使用firebase数据库时,日志中出现了错误:

    MissingPluginException(No implementation found for method DatabaseReference#set on channel plugins.flutter.io/firebase_database)
    package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 196:49  throw_
    package:flutter/src/services/platform_channel.dart 319:7                              invokeMethod
    package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 47:50            onValue
    package:dart-sdk/lib/async/zone.dart 1381:54                                          runUnary
    package:dart-sdk/lib/async/future_impl.dart 139:18                                    handleValue
    package:dart-sdk/lib/async/future_impl.dart 680:44                                    handleValueCallback
    package:dart-sdk/lib/async/future_impl.dart 709:32                                    _propagateToListeners
    package:dart-sdk/lib/async/future_impl.dart 524:5                                     [_completeWithValue]
    package:dart-sdk/lib/async/future_impl.dart 554:7                                     callback
    package:dart-sdk/lib/async/schedule_microtask.dart 43:11                              _microtaskLoop
    package:dart-sdk/lib/async/schedule_microtask.dart 52:5                               _startMicrotaskLoop
    package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 168:15           <fn>
    

    有什么方法我可以让实时数据库工作在我的flutter应用程序在网上?

  • 共有1个答案

    西门嘉澍
    2023-03-14

    在flutterfire github的主自述文件中,有一个“Web?”列来说明哪些插件已经为Web准备好了。

    目前,flutter web应用程序只支持Firebase_CoreFirebase_AuthCloud_FireStoreFirebase_Functions

    正如@Frank van Puffelen提到的,要在flutter web中使用firebase的全部功能,请使用firebase-dart包装器库。

    还有一个Flutter Web插件项目板,显示了哪些Flutter插件在路线图上,以及它们处于哪个开发阶段。在进行此编辑时,firebase_storage是web路线图上的下一个插件。

     类似资料:
    • 我正在开发基于地图的android应用程序,并使用firebase数据库(谷歌实时数据库免费版)。但是我不能使用latlng数据检索数据。 帮助我爱人

    • 基于Web的Neo4j图数据库管理工具是我们与Neo4j数据库主要的用户交互接口。使用它,你可以: - 监控 Neo4j 服务器 - 维护和浏览数据 - 通过控制台与数据库直接进行交互操作 - 浏览管理对象(JMX MBeans) 在你安装了Neo4j服务器后,这个工具可以通过地址: http://127.0.0.1:7474/访问。要使用它与嵌入模式的Neo4j图数据库交互,请参考:server

    • 本文向大家介绍php基于session实现数据库交互的类实例,包括了php基于session实现数据库交互的类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php基于session实现数据库交互的类。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

    • 本文向大家介绍基于Docker的PHP调用基于Docker的Mysql数据库,包括了基于Docker的PHP调用基于Docker的Mysql数据库的使用技巧和注意事项,需要的朋友参考一下 docker简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不

    • 我如何才能显示一个包含姓名、性别和出生日期的数据表,而只显示今天出生的人? 使用来自jdbc的java连接。 也就是说,我有一张分别于2015年6月15日、2015年5月13日和2015年6月17日出生的3个孩子的表格。 逻辑执行后,只有一个DOB在2015年6月17日(今天的日期)的孩子会出现在桌面上。

    • 3.移除值事件侦听器和脱机的区别。