当前位置: 首页 > 知识库问答 >
问题:

为什么cloud_firestore即使在完成配置后也无法在 FlutterFire 中工作?

袁增
2023-03-14

我想从Firebase获取数据,为此我已将Firebase集成到我的Flutter应用SciFish中。

在 pubspec.yaml 中,我添加了插件:

dependencies:
   firebase_core: ^1.17.0
   cloud_firestore: ^3.1.16

根目录中的fltterfire configure命令看起来很好:

我可以看到Android/应用程序/谷歌服务.

初始化Firebase后,我的main()如下所示:

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const MyApp());
}

在TemperaturePage中,我创建了获取数据的方法,但wait中的print语句不起作用。

final _firestore = FirebaseFirestore.instance;
void temperatureStream() async{
    print('this prints');
    await for(var snapshot in _firestore.collection('temperature').snapshots()){
      for(var temp in snapshot.docs){
        print('this doesnt');
        print(temp.data());
      }
   }
}

ListTile(
   title: const Text('Show Temperature'),
   onTap: () {
       temperatureStream();
   }
)

运行控制台显示:,

Performing hot restart...
Syncing files to device sdk gphone64 x86 64...
Restarted application in 1,994ms.
D/EGL_emulation(10450): app_time_stats: avg=6669.94ms min=6669.94ms max=6669.94ms count=1
D/EGL_emulation(10450): app_time_stats: avg=36988.71ms min=420.94ms max=73556.49ms count=2
D/EGL_emulation(10450): app_time_stats: avg=128.04ms min=13.50ms max=930.64ms count=9
I/flutter (10450): this prints
W/DynamiteModule(10450): Local module descriptor class for com.google.android.gms.providerinstaller.dynamite not found.
I/DynamiteModule(10450): Considering local module com.google.android.gms.providerinstaller.dynamite:0 and remote module com.google.android.gms.providerinstaller.dynamite:0
W/ProviderInstaller(10450): Failed to load providerinstaller module: No acceptable module com.google.android.gms.providerinstaller.dynamite found. Local version is 0 and remote version is 0.
D/EGL_emulation(10450): app_time_stats: avg=345.94ms min=10.15ms max=4548.11ms count=14
I/flutter (10450): this prints
D/EGL_emulation(10450): app_time_stats: avg=131.44ms min=14.88ms max=2143.03ms count=19
I/flutter (10450): this prints

尝试解决第一个onTap()上出现的这些警告,但#462和#164没有说什么,这个答案或这个也没有。

在android/app/src/main/AndroidManifest.xml中,我尝试在之前添加这两行。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

但结果还是一样,我这里少了什么?

构建平台: 视窗 10专业版 颤动版本 : 2.10.4 飞镖版本 : 2.16.2


共有1个答案

颛孙哲
2023-03-14

正如我们在会议上讨论的那样,您的收藏名称中有一个空格。

    < li >“温度”

这就是为什么它返回空值的原因。

  • 在构造数据时,请确保检查firebase集合名称中没有空格:)

干杯!

 类似资料:
  • 在程序中, 给出错误- 在其他线程之后,我将JDK遵从性级别更改为1.7,还添加了 java.home=/home/user/jdk1.7.0_79/JRE java.library.path=/home/user/jdk1.7.0_79/jre/lib/i386/server:/home/user/jdk1.7.0_79/jre/lib/i386:/home/user/jdk1.7.0_79/j

  • 这是我的代码: 因为我使用POM设计模式,所以我为此创建了一种方法: 这是超文本标记语言标签: 我的问题是,即使存在WebElement,isDisplayed()也返回false。

  • 我在tomcat上配置了ssl,在IE上禁用了tls支持,并启用了ssl支持,但我仍然得到错误消息 Tomcat设置

  • 我尝试这样删除/更改用户 我得到以下错误 但此用户存在于dba\U用户视图中: 此外,我无法创建同名用户,因为它已经存在于数据库中。有什么问题吗? My Oracle版本:Oracle Database 11g Enterprise Edition 11.2.0.4.0-64位Production PL/SQL 11.2.0.4.0-Production“CORE 11.2.0.4.0 Produ

  • 我在一个maven项目中使用Eclipse Neon.3中的Lombok 在执行更新Maven项目(Alt F5)时,一切都很好,但只要我更改任何文件并保存(自动生成),就会出现错误,即使用的Getter不存在。 插件安装正确,我可以看到行“龙目1.16.16版”舞蹈大象安装。https://projectlombok.org/“在Eclipse About Dialog中。我还可以在类的大纲中看

  • 我有一个功能,会显示其他内容和隐藏最近的内容。但当我单击submit输入时,它就不工作了。我尝试使用锚标记和按钮标记,它有相同的输出。 HTML: null null 我尝试使用和以及,但没有发生任何事情。我也找到了一个答案,但不像我的问题。