# #firebase #flutter
Вопрос:
Я новичок в flutter и недавно закончил интерфейсный сайт своего проекта с помощью flutter. Но когда я пытаюсь подключить свое приложение к firebase, оно показывает эту ошибку. Я попробовал несколько вещей, чтобы исправить это, но это не дало никаких результатов.
FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
at Object.u [as app] (https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js:1:18836)
at Object.app$ [as app] (http://localhost:59138/packages/firebase_core_web/src/interop/core.dart.lib.js:37:101)
at initializeApp (http://localhost:59138/packages/firebase_core_web/firebase_core_web.dart.lib.js:87:25)
at initializeApp.next (<anonymous>)
at runBody (http://localhost:59138/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
at firebase_core_web.FirebaseCoreWeb.new.initializeApp
(http://localhost:59138/packages/firebase_core_web/firebase_core_web.dart.lib.js:80:20)
at initializeApp (http://localhost:59138/packages/firebase_core/firebase_core.dart.lib.js:127:59)
at initializeApp.next (<anonymous>)
at runBody (http://localhost:59138/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
at Function.initializeApp (http://localhost:59138/packages/firebase_core/firebase_core.dart.lib.js:126:20)
at main (http://localhost:59138/packages/prolib/main.dart.lib.js:343:36)
at main.next (<anonymous>)
at runBody (http://localhost:59138/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:59138/dart_sdk.js:39281:7)
at main$ (http://localhost:59138/packages/prolib/main.dart.lib.js:341:18)
at main (http://localhost:59138/web_entrypoint.dart.lib.js:39:29)
at main.next (<anonymous>)
at http://localhost:59138/dart_sdk.js:39230:33
at _RootZone.runUnary (http://localhost:59138/dart_sdk.js:39087:58)
at _FutureListener.thenAwait.handleValue (http://localhost:59138/dart_sdk.js:34073:29)
at handleValueCallback (http://localhost:59138/dart_sdk.js:34633:49)
at Function._propagateToListeners (http://localhost:59138/dart_sdk.js:34671:17)
at _Future.new.[_completeWithValue] (http://localhost:59138/dart_sdk.js:34513:23)
мой главный дротик-это
import 'package:flutter/material.dart';
import 'prolib_theme.dart';
import 'package:provider/provider.dart';
import 'models/models.dart';
import '../navigation/app_router.dart';
import '../navigation/app_route_parser.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(
const Prolib(),
);
}
class Prolib extends StatefulWidget {
const Prolib({Key key}) : super(key: key);
@override
_ProlibState createState() => _ProlibState();
}
class _ProlibState extends State<Prolib> {
final _bookManager = BookManager();
final _profileManager = ProfileManager();
final _appStateManager = AppStateManager();
AppRouter _appRouter;
final routeParser = AppRouteParser();
@override
void initState() {
_appRouter = AppRouter(
appStateManager: _appStateManager,
groceryManager: _bookManager,
profileManager: _profileManager,
);
super.initState();
}
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (context) => _bookManager,
),
ChangeNotifierProvider(
create: (context) => _profileManager,
),
ChangeNotifierProvider(
create: (context) => _appStateManager,
),
],
child: Consumer<ProfileManager>(
builder: (context, profileManager, child) {
ThemeData theme;
if (profileManager.darkMode) {
theme = FooderlichTheme.dark();
} else {
theme = FooderlichTheme.light();
}
return MaterialApp.router(
theme: theme,
title: 'Prolib',
debugShowCheckedModeBanner: false,
backButtonDispatcher: RootBackButtonDispatcher(),
routeInformationParser: routeParser,
routerDelegate: _appRouter,
);
},
),
);
}
}
Как я могу решить эту проблему. Я использую flutter в vscode. Я видел других людей с такой же проблемой, но когда я попробовал их методы, это не дало результата. Спасибо вам за ваше внимание.
Ответ №1:
Не забудьте добавить имя класса, который вы хотите запустить, вот так
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(Prolib());
}
Комментарии:
1. Спасибо вам за ваш ответ. Не могли бы вы объяснить более подробно.
2. да, const предназначен для ключа, и если вы используете его для запуска приложения, он не обнаруживает класс Prolib()
3.
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(Prolib()); }
Я написал это так, но все равно получаю ту же ошибку. Но спасибо вам за ваш ответ, сэр.