我正在学习Flutter,通过学习相对较新的教程(2月制作-链接)虽然我与作者编写了相同的代码,但出现了以下异常:
=====小部件库捕获到异常=======================================================生成FutureBuilder<FirebaseApp>时引发以下FirebaseException(脏,状态:_FutureBuilderState<FirebaseApp>#881ee):[core/no-app]未创建任何Firebase应用程序“[DEFAULT]”-调用Firebase.initializeApp()相关的导致错误的小部件是:FutureBuilder<FirebaseApp>FutureBuilder:file:///C:/Users/Mrky/Desktop/Sve/Faks/10_semestar/mynotes/lib/main.dart:30:13当抛出异常时,这是堆栈:#0 MethodChannelFirebase.app(包:firebase_core_platform_interface/src/method_channel/method_cchannel_firebase.dart:173:5)#1 Firebase.app(包:Firebase_core/src/Firebase.dart:53:41)#2 FirebaseAuth.instance(包:firebase_auth/src/firebase_auth.dart:38:47)#3主页构建<匿名闭包>(包:mynotes/main.dart:34)#4_FutureBuilderState.build(包:flutter/src/widgets/async.dart:615:55)#5 StatefulElement.build(包:flutter/src/widgets/framework.dart:4919:27)#6 ComponentElement.performRebuild(包:flutter/src/widgets/framework.dart:4806:15)#7 StatefulElement.performRebuild(包:flutter/src/widgets/framework.dart:4977:11)#8 Element.rebuild(包:flutter/src/widgets/framework。dart:4529:5)#9 BuildOwner.buildScope(包:flutter/src/widgets/framework.dart:2659:19)#10 WidgetsBinding.drawFrame(软件包:flutter/src/widgets/binding.dart:891:21)#11渲染器绑定_handlePersistentFrameCallback(包:flutter/src/rendering/binding.dart:370:5)#12调度绑定_invokeFrameCallback(包:flutter/src/schedur/binding.dart:1146:15)#13 SchedulerBinding.handleDrawFrame(包:flutter/src/scheduler/binding.dart:1083:9)#14排程器绑定_handleDrawFrame(包:flutter/src/scheduler/binding.dart:997:5)#18 _回旋(省道:ui/hooks.省道:151:10)#19平台调度员_drawFrame(省道:ui/platform_dispatcher.省道:308:5)#20_drawFrame(省道:ui/hooks.省道:115:31)(省去了dart中的3帧:异步)==========================================================================================
我目前编写的代码是:
导入“package:firebase_core/firebase_core.dart”;导入“package:flutter/material.dart”;导入“package:firebase_auth/firebase_auth.dart”;import'package:mynotes/firebase_options.dart';导入“package:mynotes/views/login_view.dart”;空main(){小工具FlutterBinding.ensureInitialized();运行应用程序(材料应用程序(title:“Flutter演示”,主题:主题数据(primarySwatch:颜色.绿色,),主页:const HomePage(),),);}类HomePage扩展了StatelesWidget{const主页({Key?Key}):超级(Key:Key);@覆盖小工具构建(BuildContext上下文){返回脚手架(appBar:appBar(title:常量文本('Home'),),正文:FutureBuilder(未来:Firebase.initializeApp(选项:DefaultFirebaseOptions.currentPlatform,),生成器:(上下文,快照){开关(snapshot.connectionState){案例ConnectionState.done:打印(FirebaseAuth.instance.currentUser);return const文本(“完成”);违约:return const文本(“正在加载…”);}},),);}}
如图所示,我在FutureBuilder的未来中拥有Firebase.initializeApp。如果我把这行注释掉打印(FirebaseAuth.instance.currentUser);
应用程序将显示文本多恩没有任何问题。