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

连接到Firestore时出错:颤振、丢失插件异常

常自强
2023-03-14

[ERROR: flutter/lib/ui/ui_dart_state.cc(157)]未处理的异常:缺少插件异常(未找到通道plugins.flutter.io/cloud_firestore上的方法文档引用#setData的实现)

 Future<void> _createJob(BuildContext context) async{
    final database = Provider.of<Database>(context);
    await database.createJob(Job(name: 'Bloging', ratePerHour: 10));

  }
import 'package:flutter/foundation.dart';

class Job{
  Job({@required this.name, @required this.ratePerHour});
  final String name;
  final int ratePerHour;
  Map<String, dynamic> toMap() {
    return{
      'name': name,
      'ratePerHour': ratePerHour,
    };

  }

}
               create: (_) => FirestoreDatabase(uid: user.uid),
               child: JobsPage());
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/foundation.dart';
import 'package:time_tracker/app/models/jobs.dart';
import 'dart:async';

import 'package:time_tracker/servises/api_path.dart';

abstract class Database {
  Future<void> createJob (Job job);
}
class FirestoreDatabase implements Database {
  FirestoreDatabase({@required this.uid}) : assert(uid != null);
  final String uid;

  Future<void> createJob (Job job) async {
    final path = APIPAth.job(uid, 'job_abc');
    final documentReference = Firestore.instance.document(path);
    await documentReference.setData(job.toMap());
  }
}
  static String job (String uid, String jobId) => '/users/$uid/jobs/$jobId';
}

共有1个答案

公孙俭
2023-03-14

将firestore插件添加到pubspec。yaml文件:

dependencies:
  cloud_firestore: ^0.13.5

然后执行以下操作:

从终点站出发:快跑飞舞酒吧。

或者

从Android Studio/IntelliJ:单击包获得在pubspec.yaml.顶部的行动功能区

从VS代码:单击位于pubspec顶部操作功能区右侧的获取软件包。亚马尔。

在代码更改中:

 final documentReference = Firestore.instance.document(path);
    await documentReference.setData(job.toMap());

为此:

 final documentReference = Firestore.instance.collection(path);
    await documentReference.add(job.toMap());

在firestore中,您有:

收藏-

如果您想将数据添加到集合,那么您需要使用add()方法,该方法将为数据创建一个随机文档id并添加数据。

 类似资料:
  • 我正在尝试使用图像选择器,但我无法获取太多。每当我调用Imagepicker时,它都会显示错误,因为在通道插件上找不到方法pickImage的实现。颤振io/图像选择器。请让我知道这个问题。 我更新了我的问题并添加了pubspec.yaml

  • 我正在Linux Ubuntu上配置Flatter SDK 我在文件中为和指定了,但我在运行时收到此错误:

  • 当我启动我的应用程序时,我收到了这个错误消息。自从上次跑步以来,我没有做任何改变,当时一切都很好。有人知道怎么解决这个问题吗?非常感谢。 错误:无法确定任务“:app:processDebugResources”的依赖项 无法解析配置“:app:debugRuntimeClasspath”的所有任务依赖项。无法解析io。grpc:grpc核心:[1.28.0]。所需人员:项目:应用程序 > 尝试:

  • Xcode的输出:在文件中包含从 /Users/dani/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.3/ios/Classes/FLTURLLauncherPlugin.m: 7: /Users/dani/development/flutter/.pub-cache/hosted/pub.dart

  • 我正在尝试创建我的第一个颤振应用程序,但当我运行它时,它会给我这个错误 失败:生成失败,出现异常。 > 无法打开设置文件'C:\JavaDemos\sea_ok\android\settings.gradle'的设置通用类缓存(C:\用户\Emre.gradle\缓存\5.6.2\脚本\b4ieilm7vkknhwvoai8y4gzba\设置\settins8410a2d21ed2f87c8a03

  • 为什么我会出现以下错误?突然,它开始出现这个错误。 失败:生成失败,出现异常。 > 其中:脚本'C:\src\flutter\package\flutter_tools\gradle\flutter.gradle'行:1070 错误:任务:app:compileFlutterBuildDebug的执行失败。 处理“命令”C:\src\flatter\bin\flatter。bat“”以非零退出值1