自2020年8月17日开始
所有Firebase版本都已更新,现在您必须调用Firebase.initializeApp()
在使用任何Firebase产品之前,例如:
首先,所有Firebase产品现在都依赖于firebase核心
版本(0.5.0+),因此需要将其添加到山药
文件:
依赖项:颤振:sdk:颤振firebase_core:^0.5.0#cloud_firestore:^0.14.0其他firebase依赖项
那你得打电话Firebase.initializeApp()
:
第一个示例
导入“package:flutter/material.dart”;//导入firebase_core插件导入“package:firebase_core/firebase_core.dart”;空main(){运行应用程序(应用程序());}类应用程序扩展了StatelessWidget{@覆盖小工具构建(BuildContext上下文){return FutureBuilder(//初始化FlutterFire未来:Firebase.initializeApp(),生成器:(上下文,快照){//检查是否有错误if(snapshot.hasError){return SomethingWentWrong();}//完成后,显示您的应用程序if(snapshot.connectionState==connectionState.done){return MyAwesomeApp();}//否则,在等待初始化完成时显示一些内容return Loading();},);}}
Firestore的第二个示例:
导入“package:cloud_firestore/cloud_firestore.dart”;导入“package:flutter/material.dart”;导入“package:firebase_core/firebase_core.dart”;void main()=>runApp(MyApp());类MyApp扩展StatelesWidget{//这个小部件是应用程序的根。@覆盖小工具构建(BuildContext上下文){返回MaterialApp(debugShowCheckedModeBanner:错误,主题:主题数据(primarySwatch:颜色。蓝色,),home:FirstRoute(标题:“First Route”),);}}类FirstRoute扩展了StatefulWidget{FirstRoute({Key-Key,this.title}):超级(Key:Key);最终字符串标题;@覆盖_第一路由状态createState()=>第一路由状态();}class _FirstRouteState扩展状态{@覆盖无效initState(){super.initState();}@覆盖小工具构建(BuildContext上下文){返回脚手架(appBar:appBar(标题:文本(“测试”),),正文:FutureBuilder(未来:getData(),构建器:(上下文,AsyncSnapshot<DocumentSnapshot>快照){if(snapshot.connectionState==connectionState.done){return列(儿童:[集装箱(高度:27,child:文本(“名称:${snapshot.data.data()['Name']}”,溢出:TextOverflow.fade,style:TextStyle(字体大小:20),),),],);}else if(snapshot.connectionState==connectionState.none){return Text(“无数据”);}return CircularProgressIndicator();},));}未来<DocumentSnapshot>getData()异步{等待Firebase.initializeApp();返回等待FirebaseFirestore.instance.collection(“用户”).doc(“文档ID”).get();}}
第三个示例:
在中初始化初始化状态()
然后打电话设置状态()
它将调用构建()
方法。
@覆盖无效initState(){super.initState();Firebase.initializeApp().whenComplete((){打印(“已完成”);setState((){});});}
第四个示例:
在中初始化main()
调用后的方法小工具FlutterBinding.ensureInitialized();
void main()异步{小工具FlutterBinding.ensureInitialized();等待Firebase.initializeApp();运行应用程序(MyApp());}
注释:您只需打电话初始化应用程序()
一旦