【发布时间】:2019-07-09 12:09:17
【问题描述】:
我正在尝试通过连接我的基本 Flutter 应用到 Cloud Firestore(在 Firebase 中)来完成一个非常简单的练习。
我已按照有关设置的说明进行操作。但是,我收到以下错误。
E/MethodChannel#plugins.flutter.io/cloud_firestore(13217): Failed to handle method call
E/MethodChannel#plugins.flutter.io/cloud_firestore(13217): java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.
我的颤振代码:
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Playground',
home: Scaffold(
appBar: AppBar(
title: Text('Playground App'),
),
body: Column(children: <Widget>[
Text('Sup World?'),
StreamBuilder(
stream: Firestore.instance.collection('test').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return const Text('Loading....');
return Text('Loaded');
},
)
])));
}
}
android\build.gradle 文件中的依赖项
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.google.gms:google-services:4.0.1'
}
在 android\app\build.gradle 文件中添加的依赖项和新行
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
}
apply plugin: 'com.google.gms.google-services'
pubspec.yaml 中的依赖项
dependencies:
flutter:
sdk: flutter
intl: 0.15.7
cloud_firestore: ^0.8.2
我还下载了 google-services.json 文件并将其添加到 android\app 文件夹中。
在 Firestore 数据库中,我有一个 ID 为 test 的集合,其中包含一个文档。
预期结果: 文本“Loaded”应该出现在文本“Sup World?”下
但是,我收到上述错误,并且显示文本“正在加载”。
有人可以帮忙解决这个问题吗?
【问题讨论】:
-
如果您也添加 pubspec 文件会很好,这样我们就可以知道您是否在 flutter pubspec.yaml 中添加了 firebase 插件!并交叉检查您是否在项目级别的 gradle 中添加了类路径“com.google.gms:google-services:3.0.0”。
-
@Harshapulikollu - 我已经使用 pubspec.yaml 文件中的依赖项更新了线程。
-
@Harshapulikollu - 关于项目级别的 gradle,您是指颤振项目级别的 gradle 文件吗?我的没有。
-
我的意思是在你的 android 项目级别。
/android/build.gradle 文件 -
@Harshapulikollu - 是的,它在里面。我已经在上面添加了。再次将其放在这里以防万一:dependencies { classpath 'com.android.tools.build:gradle:3.3.1' classpath 'com.google.gms:google-services:4.0.1' }
标签: firebase flutter google-cloud-firestore