我正在尝试将Firestore数据库连接到简单的Flutter应用程序。为了测试连通性,我按照Flutter Firestore documentation中的说明添加用户(在我的情况下,每次在“软件”小部件中点击Inkwell时,它都应执行)。
但是,我收到错误:“未处理的异常:NoSuchMethodError:方法'addUser'在null上被调用。” -即使我为其分配了一个值。
我遵循了其他页面上的所有说明,但仍无法解决问题。谁能解决这个问题?如果需要更多信息,请告诉我。
database.dart:
@Indexed(unique=true)
主镖:
import 'package:firebase_core/firebase_core.dart';
import 'package:blitz_shortcuts/main.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class DatabaseService {
final String userID;
DatabaseService(this.userID);
final String fullName = 'XYZ';
// Referenz auf die Firestore Collection herstellen:
final CollectionReference userSoftwareName =
FirebaseFirestore.instance.collection("userSoftwareName");
Future<void> addUser() async {
return await userSoftwareName
.doc(userID)
.update({"full_name": fullName}).then((value) => print("User Added"));
}
}
答案 0 :(得分:1)
默认情况下,在dart
中,如果不进行任何初始化,则所有变量和对象均为null。
你必须创建一个像
DatabaseService database= new DatabaseService();
因为默认情况下该数据库为空,因为您没有对其进行初始化。
如果不想一次又一次地创建对象,也可以使用单例。