我的应用程序已连接到firebase存储,但不是';t到firebase数据库
我成功地将我的应用程序连接到firebase存储,我成功地查看了我上传到它的文档。但我无法将它链接到实时数据库 数据库规则:我的应用程序已连接到firebase存储,但不是';t到firebase数据库,firebase,flutter,firebase-realtime-database,Firebase,Flutter,Firebase Realtime Database,我成功地将我的应用程序连接到firebase存储,我成功地查看了我上传到它的文档。但我无法将它链接到实时数据库 数据库规则: { "rules": { ".read": true, ".write": true, } } 我要测试的代码: import 'package:flutter/material.dart'; import 'package:firebase_database/firebase_data
{
"rules": {
".read": true,
".write": true,
}
}
我要测试的代码:
import 'package:flutter/material.dart';
import 'package:firebase_database/firebase_database.dart';
class Bddtest extends StatefulWidget {
@override
_Bddtest createState() => _Bddtest();
}
class _Bddtest extends State<Bddtest> {
var adder = 0;
final ref = FirebaseDatabase().reference();
void addData() {
ref.child("test/").push().set({'add number': adder});
adder++;
}
void printFirebase() {
ref.once().then((DataSnapshot snapshot) {
print('Data : ${snapshot.value}');
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Firebase Demo"),
),
body: FutureBuilder(builder: (context, snapshot) {
if (snapshot.hasError) {
return Text(snapshot.error.toString());
} else {
return Container(
child: Column(
children: <Widget>[
Center(
child: ElevatedButton(
child: Text("Save to Database"),
onPressed: () {
addData();
printFirebase();
})),
],
),
);
}
}),
);
}
}
导入“包装:颤振/材料.省道”;
导入“package:firebase_database/firebase_database.dart”;
类Bddtest扩展了StatefulWidget{
@凌驾
_Bddtest createState()=>\u Bddtest();
}
类_Bddtest扩展状态{
var加法器=0;
final ref=FirebaseDatabase().reference();
void addData(){
ref.child(“test/”).push().set({'addnumber':adder});
加法器++;
}
void printFirebase(){
ref.once().then((DataSnapshot快照){
打印('Data:${snapshot.value}');
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“Firebase演示”),
),
正文:FutureBuilder(生成器:(上下文,快照){
if(snapshot.hasError){
返回文本(snapshot.error.toString());
}否则{
返回容器(
子:列(
儿童:[
居中(
儿童:升降按钮(
子项:文本(“保存到数据库”),
已按下:(){
addData();
printFirebase();
})),
],
),
);
}
}),
);
}
}
我的终端没有错误,firebase端也没有连接尝试
我的主要意见是:
// @dart=2.9 (because i need to use a non-null friendly widget)
import 'package:racpresence/bddtest.dart';
import 'calendrier.dart';
import 'coursdujour.dart';
import 'parametres.dart';
import 'bddtest.dart';
import 'package:flutter/cupertino.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
...
}
class MyHomePage extends StatefulWidget {
...
}
class _MyHomePageState extends State<MyHomePage> {
int _selectedIndex = 0;
final tabs = [
...
];
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
Widget build(BuildContext context) {
...
}
}
/@dart=2.9(因为我需要使用非空友好小部件)
导入“包:racpresence/bddtest.dart”;
进口“日历.省道”;
输入“coursdujour.dart”;
导入“parametres.dart”;
导入“bddtest.dart”;
进口“包装:颤振/cupertino.dart”;
导入“包:firebase_core/firebase_core.dart”;
进口“包装:颤振/材料.省道”;
void main()异步{
WidgetsFlutterBinding.ensureInitialized();
Firebase.initializeApp();
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
...
}
类MyHomePage扩展StatefulWidget{
...
}
类_MyHomePageState扩展状态{
int _selectedIndex=0;
最终选项卡=[
...
];
void\u未映射(整数索引){
设置状态(){
_selectedIndex=索引;
});
}
@凌驾
小部件构建(构建上下文){
...
}
}
谢谢你的帮助,如果有奇怪的名字,我很抱歉,我是法国人
更新:我成功地将应用程序连接到云firestore。我必须在Firebase.initializeApp()之前添加“await”。
但我仍然没有成功的实时数据库