【发布时间】:2022-02-16 14:36:23
【问题描述】:
我无法将数据写入实时数据库! 我在 pubspec.yaml 中添加了以下依赖项 编辑:我添加了控制台日志
dependencies:
cloud_firestore: ^2.5.1
cupertino_icons: ^1.0.2
firebase_auth: ^3.1.0
firebase_core: ^1.6.0
firebase_database: ^ 7.0.0
flutter:
sdk: flutter
fluttertoast: ^8.0.8
我还添加了正确的 google.json 文件。 (我已经完成了身份验证)。用于读取和写入的 Firebase 数据库规则均设置为 true。
我的代码如下:
class AddItem extends StatelessWidget{
AddItem({Key? key}) : super(key: key);
final database = FirebaseDatabase.instance.reference();
@override
Widget build(BuildContext context){
final location = database.child('/S2.2');
return Scaffold(
body:Column(
children: [
TextFormField(
decoration: const InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Product name',
),
),
TextFormField(
decoration: const InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Expiration Date',
),
),
TextFormField(
decoration: const InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Current Date',
),
),
TextFormField(
decoration: const InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Quantity',
),
),
ElevatedButton(
child: const Text('Save'),
onPressed: () async {
location.set({'hi'
});
},
),
],
),
);
}
}
控制台显示:
W/Firestore(6723): (24.0.1) [WriteStream]: (6db7a1c) Stream closed with status: Status{code=PERMISSION_DENIED, description=Cloud Firestore API 之前未在项目 966701182638 中使用或已禁用.通过访问https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=966701182638 启用它,然后重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统并重试。cause=null}。
编辑:
我已启用 API。并且控制台不再显示任何错误。我正在使用 Firebase 实时数据库。 一旦我单击“保存按钮”,“S2.2”的子级应该从根形成,然后是“hi”的另一个子级。怎么了?
编辑 2:
按下保存按钮后,即设置数据库中的数据。控制台显示:
E/flutter (19417): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument: LinkedHashSet len:1
控制台也显示
DatabaseReference.set (package:firebase_database/src/database_reference.dart:72:39)
非常感谢任何帮助
【问题讨论】:
-
请提供您尝试将数据发送到 Firestore 的脚本或提供控制台日志,否则我们无法提供帮助
-
日志告诉你点击哪个链接并启用它
-
@FransiTsena 有一个很好的观点:您共享的代码仅访问实时数据库,而错误消息与 Firestore 有关。虽然这两个数据库都是 Firebase 的一部分,但它们是完全独立的。我在下面写了一个答案,假设您正在在代码中的其他地方调用 Firestore API,但如果不是这样,请告诉我。
标签: firebase flutter firebase-realtime-database