Android FirebaseUser中使用Flatter进行身份验证时出错
我是这一阵风的初学者。目前我正在尝试为注册进行电子邮件身份验证。我已经在网站/github/youtube上尝试了一些解决方案,但它出现了与Android FirebaseUser中使用Flatter进行身份验证时出错,android,ios,firebase,flutter,firebase-authentication,Android,Ios,Firebase,Flutter,Firebase Authentication,我是这一阵风的初学者。目前我正在尝试为注册进行电子邮件身份验证。我已经在网站/github/youtube上尝试了一些解决方案,但它出现了与FirebaseUser相同的错误。这里我附加我的代码段 class _RegisterEmailSectionState extends State<_RegisterEmailSection> { void _register() async { final FirebaseUser user = (await _aut
FirebaseUser
相同的错误。这里我附加我的代码段
class _RegisterEmailSectionState extends State<_RegisterEmailSection> {
void _register() async {
final FirebaseUser user = (await
_auth.createUserWithEmailAndPassword(
email: _emailController.text,
password: _passwordController.text,
)
).user;
if (user != null) {
setState(() {
_success = true;
_userEmail = user.email;
});
} else {
setState(() {
_success = true;
});
}
}
void dispose() {
_emailController.dispose();
_passwordController.dispose();
super.dispose();
}
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final TextEditingController _emailController = TextEditingController();
final TextEditingController _passwordController = TextEditingController();
bool _success;
String _userEmail;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
TextFormField(
controller: _emailController,
decoration: const InputDecoration(labelText: 'Email'),
validator: (String value) {
if (value.isEmpty) {
return 'Please enter some text';
}
return null;
},
),
TextFormField(
controller: _passwordController,
decoration: const InputDecoration(labelText:
'Password'),
validator: (String value) {
if (value.isEmpty) {
return 'Please enter some text';
}
return null;
},
),
Container(
padding: const EdgeInsets.symmetric(vertical: 16.0),
alignment: Alignment.center,
child: RaisedButton(
onPressed: () async {
if (_formKey.currentState.validate()) {
_register();
}
},
child: const Text('Submit'),
),
),
Container(
alignment: Alignment.center,
child: Text(_success == null
? ''
: (_success
? 'Successfully registered ' + _userEmail
: 'Registration failed')),
)
],
),
),
);
}
}
class\u RegisterEmailSectionState扩展状态{
void _register()异步{
最终FirebaseUser=(等待)
_auth.createUserWithEmailAndPassword(
电子邮件:_emailController.text,
密码:_passwordController.text,
)
).用户;
如果(用户!=null){
设置状态(){
_成功=真实;
_userEmail=user.email;
});
}否则{
设置状态(){
_成功=真实;
});
}
}
无效处置(){
_emailController.dispose();
_passwordController.dispose();
super.dispose();
}
最终的GlobalKey _formKey=GlobalKey();
final TextEditingController_emailController=TextEditingController();
最终文本编辑控制器_passwordController=文本编辑控制器();
成功;
字符串_userEmail;
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(widget.title),
),
正文:表格(
键:_formKey,
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
TextFormField(
控制器:\u电子邮件控制器,
装饰:常量输入装饰(标签文本:“电子邮件”),
验证器:(字符串值){
if(value.isEmpty){
返回“请输入一些文本”;
}
返回null;
},
),
TextFormField(
控制器:_passwordController,
装饰:常量输入装饰(labelText:
“密码”),
验证器:(字符串值){
if(value.isEmpty){
返回“请输入一些文本”;
}
返回null;
},
),
容器(
填充:常量边集。对称(垂直:16.0),
对齐:对齐.center,
孩子:升起按钮(
onPressed:()异步{
if(_formKey.currentState.validate()){
_寄存器();
}
},
子项:const Text('Submit'),
),
),
容器(
对齐:对齐.center,
子项:文本(_success==null)
? ''
成功
?“已成功注册”+\u userEmail
:“注册失败”),
)
],
),
),
);
}
}
有什么我错过的吗?我不知道为什么我的代码中出现FirebaseUser
错误。我假设这是由于firebase版本不同而导致的错误。我发现有人来自Flatter社区,他们说尝试将其更改为Authresult
,但同样的错误出现了
有人能帮我解决这个问题吗?提前谢谢你 变化
final FirebaseUser=。。。
到
最终用户=。。。
是你想要上的课。它的类型为用户