【发布时间】:2021-11-27 21:25:48
【问题描述】:
我正在编写我的第一个 Flutter 并尝试建立与 Firebase 的连接。我已按照官方网站上的说明在 Firebase 中注册了我的应用程序。我在 .yaml 文件中添加了 core 和 auth 包,更新了 build.gradle 文件并将它们导入到我的源代码中。然后我通过在启动应用程序之前调用正确的方法来初始化 Firebase。每当我尝试匿名登录时,都会收到错误消息:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:[core/no-app] 没有创建 Firebase 应用“[DEFAULT]” - 调用 Firebase.initializeApp()
我真的不知道发生了什么,因为我认为我正在根据 FlutterFire 文档调用该方法。这是我的 main.dart 文件:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:roomie/views/sign_in_page.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Roomie',
theme: ThemeData(
primarySwatch: Colors.pink,
),
home: SignInPage(),
);
}
}
这是我的登录方法。每当我按下登录按钮时,我都会收到 Firebase 尚未初始化的错误:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
class SignInPage extends StatelessWidget {
Future<void> _signInAnonymously() async {
final userCredentials = await FirebaseAuth.instance.signInAnonymously();
print(userCredentials.user!.uid.toString());
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Roomie'),
elevation: 2.0,
),
body: _buildContent(),
backgroundColor: Colors.grey[200],
);
}
Widget _buildContent() {
return Padding(
padding: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Sign In',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 26.0,
fontWeight: FontWeight.w500,
),
),
SizedBox(
height: 50.0,
child: ElevatedButton(
onPressed: _signInAnonymously,
child: Text(
'Sign in anonymously',
style: TextStyle(
color: Colors.black87,
),
),
style: ElevatedButton.styleFrom(
primary: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50),
),
),
),
),
],
),
);
}
}
【问题讨论】:
-
您是否将firebase config json文件正确放置在文件夹结构中?
标签: android firebase flutter dart authentication