Android Firebase请求初始化应用程序,即使它已初始化

Android Firebase请求初始化应用程序,即使它已初始化,android,firebase,flutter,dart,Android,Firebase,Flutter,Dart,我创建这个测试文件是为了检查可用的firebase用户,然后根据响应转到相应的屏幕。虽然我已经初始化了应用程序,但它仍然显示没有创建Firebase默认应用程序的错误。调用Firebase.initializeApp。我做错什么了吗?此外,如果有任何其他方法检查用户是否登录,请告知。请记住,在显示MainView()之前,我也需要从firestore获取数据 import'包:cloud_firestore/cloud_firestore.dart'; 导入“包:firebase_auth/fi

我创建这个测试文件是为了检查可用的firebase用户,然后根据响应转到相应的屏幕。虽然我已经初始化了应用程序,但它仍然显示没有创建Firebase默认应用程序的错误。调用Firebase.initializeApp。我做错什么了吗?此外,如果有任何其他方法检查用户是否登录,请告知。请记住,在显示MainView()之前,我也需要从firestore获取数据

import'包:cloud_firestore/cloud_firestore.dart';
导入“包:firebase_auth/firebase_auth.dart”;
导入“包:firebase_core/firebase_core.dart”;
进口“包装:颤振/材料.省道”;
进口“包装:颤振加载/颤振加载.dart”;
导入“包:splashscreen/splashscreen.dart”;
导入“MainPages/LoginScreen.dart”;
导入“MainPages/MainView.dart”;
导入“Services/User.dart”;
void main(){
WidgetsFlutterBinding.ensureInitialized();
Firebase.initializeApp();
runApp(
新材料聚丙烯(
debugShowCheckedModeBanner:false,
主题:主题数据(
primarySwatch:颜色。深橙色,
视觉密度:视觉密度。自适应平台密度,
),
生成器:EasyLoading.init(),
主页:新建MyApp(),
),
);
}
类MyApp扩展了StatefulWidget{
@凌驾
_MyAppState createState()=>new_MyAppState();
}
类MyAppState扩展了状态{
Future loadFromFuture()异步{
if(FirebaseAuth.instance.currentUser!=null){
DocumentSnapshot doc=等待FirebaseFirestore.instance
.收集(“用户”)
.doc(FirebaseAuth.instance.currentUser.uid)
.get();
currentUser=MyUser.fromDocument(文档);
返回Future.value(newmainview());
}否则{
返回Future.value(newloginscreen());
}
}
@凌驾
小部件构建(构建上下文){
返回新的SplashScreen(
navigateAfterFuture:loadFromFuture(),
标题:新文本(
“欢迎来到SplashScreen”,
样式:新文本样式(fontWeight:fontWeight.bold,fontSize:20.0),
),
图像:新图像。网络('https://i.imgur.com/TyCSG9A.png'),
背景颜色:Colors.white,
加载程序下的样式文本:新的TextStyle(),
photoSize:100.0,
onClick:()=>打印(“颤振埃及”),
装载颜色:颜色。红色);
}
}

您需要等待firebase初始化

请参考下面的代码

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  runApp(MyApp());
}
Future main()异步{
WidgetsFlutterBinding.ensureInitialized();
等待Firebase.initializeApp();
等待SystemChrome.setPreferredOrientations([DeviceOrientation.GraphicUp]);
runApp(MyApp());
}

您需要等待firebase初始化

请参考下面的代码

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  runApp(MyApp());
}
Future main()异步{
WidgetsFlutterBinding.ensureInitialized();
等待Firebase.initializeApp();
等待SystemChrome.setPreferredOrientations([DeviceOrientation.GraphicUp]);
runApp(MyApp());
}

使主函数异步并等待Firebase.initializeApp();使主函数异步并等待Firebase.initializeApp();