0

我正在学习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);应用程序将显示文本多恩没有任何问题。

4
  • 1
    不久前写下了这个答案,看起来就像你的问题:stackoverflow.com/questions/67368311/…(同时阅读问题)。如果有帮助,请告诉我! 评论 2022年7月23日23:04
  • 1
    这也可能有助于:stackoverflow.com/questions/63492211/… 评论 2022年7月23日23:05
  • 正因为如此,我尝试在浏览器上运行它,并在浏览器上正常运行。然后我尝试了第二个链接,删除并运行fluttle pub add firebase_core,现在它可以在我的模拟器上运行了。谢谢 评论 2022年7月23日23:20
  • 添加它作为答案!你能接受它来帮助将来有同样问题的人吗? 评论 2022年7月23日23:36

2个答案2

重置为默认值
1

运行颤振清洁,然后添加dart pub包firebase核心使用命令flutch pub添加firebase核心。最后,运行扑扑酒吧以解决所有依赖关系。

0

使void函数异步,并在void main中添加以下行。

void main()异步{小工具FlutterBinding.ensureInitialized();等待Firebase.initializeApp();runApp(const MyApp());}

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.