Android 颤振:“;“用户”;isn';不是一种类型。以前工作过吗?

Android 颤振:“;“用户”;isn';不是一种类型。以前工作过吗?,android,firebase,flutter,firebase-authentication,Android,Firebase,Flutter,Firebase Authentication,我一直在从事一个使用Firebase身份验证的项目 在我升级到颤振2之前,一切都很顺利 现在它告诉我“用户”不是一种类型。我在他们的变更日志中找不到任何可能导致此错误的内容 splashScreenFunction: () async { //// check if login User result = FirebaseAuth.instance.currentUser; print("User: $result

我一直在从事一个使用Firebase身份验证的项目

在我升级到颤振2之前,一切都很顺利

现在它告诉我“用户”不是一种类型。我在他们的变更日志中找不到任何可能导致此错误的内容

splashScreenFunction: () async {
            //// check if login
            User result = FirebaseAuth.instance.currentUser;
            print("User: $result");
            if (result != null)
              return mainPage(userID: result.uid,);
            else
              return LoginPage();
          },

这里有一个例子,我的项目中的一个部分给了我一个错误。在这个特定部分中,我通过尝试获取用户ID来检查用户是否登录。 在代码的其他部分,我使用了类似的方法来获取用户ID。有什么新的方法可以做到这一点??我错过什么了吗


我似乎找不到任何信息,因为这是一个有点新的更新。

尝试在firebase\u auth导入(如firebase\u auth)前加前缀


这个问题似乎是由于依赖项没有得到很好的更新以支持空安全性造成的。我曾经确保所有的东西都被正确地迁移,然后它又重新工作了

所以基本上它不起作用,因为我更新了Flutter和Dart,但没有确保所有的包都更新为支持空安全性


供将来参考:并非所有以前使用的包都支持空安全性(除非它们已更新为空安全性),但由于未知的原因,您仍然可以在项目中使用它们。我还注意到有相当多的软件包尚未更新,但用户已经创建了新版本的软件包,称为“另一个”[PackageName],“它通常会以同样的方式工作。如果您不更新包以使用空安全设置,您将收到大量的弃用警告。

此行有错误吗<代码>用户结果=FirebaseAuth.instance.currentUser什么是firebase身份验证部门版本?导入包含“用户”定义的相关文件时,是否有多个文件建议?我可能会尝试重新导入具有正确“用户”定义的正确文件,以防万一。另外,我建议做一个
flatterclean
,然后做
pub get
的事情。哦,还有一件事,在这样的事情发生后,一定要重新启动VS代码(或您的IDE),因为有时候,它就是这样工作的。@John Joe:是的,这是错误行。@RukshanJS:我正在导入正确的包,即“firebase_auth”(它也是唯一应该包含“用户”定义的文件)。当我查看针对“用户”类型错误的建议操作时,IDE甚至会询问我是否要导入它。当我以这种方式再次导入时,错误仍然存在。建议不错,但我的问题解决方案不同(如上所述)
import 'package:firebase_auth/firebase_auth.dart' as firebase_auth;
.
.
.
//Change
firebase_auth.User result = firebase_auth.FirebaseAuth.instance.currentUser;