【问题标题】:Sending value from flutter to realtime database firebase将值从颤振发送到实时数据库 Firebase
【发布时间】:2021-08-05 23:36:37
【问题描述】:

我想在点击 onPressed 时发送一个特定的值 0 或 1。

这是我的代码:

openGatePhoto() async {
    await Firebase.initializeApp();

    
    DatabaseReference referenceData =
        FirebaseDatabase.instance.reference().child("picture_has_changed");
    var picture_has_changed;
    if (picture_has_changed == 0) {
      picture_has_changed = 1;
    } else {
      picture_has_changed = 0;
    }

尝试导入包import 'package:firebase_database/firebase_database.dart';时出现此错误:

Target of URI doesn't exist: 'package:firebase_database/firebase_database.dart'.

它显示Undefined class 'DatabaseReference'Undefined name 'FirebaseDatabase'. 我查了一下,它说这可能是因为我的图像核心和 Firebase 存储版本,以及当我尝试更新它们时

firebase_core : ^1.0.0
  image_picker: ^0.6.2
  firebase_storage: ^8.0.0

发生了这个错误:

Because firebase_storage >=8.0.0 <8.0.1 depends on firebase_storage_web ^1.0.0 and firebase_storage >=8.0.1 <8.0.2 depends on firebase_storage_web ^1.0.2, firebase_storage >=8.0.0 <8.0.2 requires firebase_storage_web ^1.0.0.

And because firebase_storage >=8.0.2 <8.0.4 depends on firebase_storage_web ^1.0.3, firebase_storage >=8.0.0 <8.0.4 requires firebase_storage_web ^1.0.0.

And because firebase_storage >=8.0.4 <8.0.5 depends on firebase_storage_web ^1.0.4 and firebase_storage >=8.0.5 <8.0.6 depends on firebase_storage_web ^1.0.5, firebase_storage >=8.0.0 <8.0.6 requires firebase_storage_web ^1.0.0.

And because firebase_storage >=8.0.6 depends on firebase_storage_web ^1.0.6 which depends on http ^0.13.0, firebase_storage >=8.0.0 requires http ^0.13.0.

So, because LPP depends on both http ^0.12.0+2 and firebase_storage ^8.0.0, version solving failed.
pub get failed (1; So, because LPP depends on both http ^0.12.0+2 and firebase_storage ^8.0.0, version solving failed.)

我只想做的是,当您按下按钮时,它会将 0 或 1 发送到 firebase 上的实时数据库。有没有比我尝试过的更简单的方法。在此先感谢:D

【问题讨论】:

  • 如何将版本设置为自动,我尝试了 firebase_storage: ^auto,是的,它不起作用。您需要将其留空吗?
  • 试试firebase_core: auto,其他包也一样。
  • 不,不工作
  • 嗯,同样的错误?
  • 语法错误,自动接缝不起作用

标签: firebase flutter dart firebase-realtime-database


【解决方案1】:

您必须确保您的所有软件包都相互兼容。这些是最新的兼容版本:

cloud_firestore ^0.16.0+1
cloud_functions ^0.9.0
firebase_auth   ^0.20.1
firebase_core   ^0.7.0
firebase_crashlytics    ^0.4.0+1
firebase_storage    ^7.0.0
firebase_messaging  ^8.0.0-dev.15
firebase_remote_config  ^0.8.0-dev.0

这里是指南: https://firebase.flutter.dev/docs/migration/

【讨论】:

  • 我正在使用核心 0.7.0 和存储 7.0.0 但仍然无法正常工作,我根本无法获取 firebase_database
  • 我认为您所指的类是 Reference 而不是 DatabaseReference。例如。参考 storageReference = FirebaseStorage.instance.ref().child(filePath);
猜你喜欢
  • 1970-01-01
  • 2020-02-20
  • 2021-08-05
  • 1970-01-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2020-09-10
相关资源
最近更新 更多