我是新来的。我试图与firebase连接,在屏幕登录中进行验证、电子邮件和密码。
代码:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:login/page.dart';
import 'package:login/register_page.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'forgivePassword.dart';
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _email, _password;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.blue,
body: Center(
child: SizedBox(
width: 380,
height: 400,
child: Form(
key: _formKey,
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
padding: EdgeInsets.only(top: 10.0),
),
Container(
padding: EdgeInsets.fromLTRB(50.0, 1.0, 50.0, 1.0),
child: TextFormField(
validator: (input){
if(input.isEmpty){
return ;
}
},
onSaved: (input) => _email = input,
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
labelText: "E-mail",
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20.0))
)
),
),
),
Container(
padding: EdgeInsets.only(top: 10.0),
),
Container(
padding: EdgeInsets.fromLTRB(50.0, 1.0, 50.0, 0.0),
child: TextFormField(
validator: (input){
if(input.length < 6){
return 'Your password needs to be atleast 6 characters';
}
},
onSaved: (input) => _password = input,
obscureText: true,
decoration: const InputDecoration(
labelText: "Password",
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20.0)))),
keyboardType: TextInputType.emailAddress,
),
),
Row(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(178, 0, 0, 0),
child: TextButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) =>
ForgivePassword()));
},
child: Text(
"Esqueci minha senha",
style: TextStyle(
color: Colors.blue,
decoration: TextDecoration.underline,
),
)),
)
],
),
SizedBox(
width: 310,
height: 35,
child: RaisedButton(
color: Colors.blue,
textColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0),
),
onPressed: sigIn,
child: Text("Login"),
)),
Padding(
padding: const EdgeInsets.only(top: 15.0),
child: SizedBox(
width: 310,
height: 35,
child: RaisedButton(
color: Colors.blue,
textColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) =>
PaginaRegistro()));
},
child: Text("Registre-se"),
)),
),
],
),
),
),
),
),
);
}
Future<void> sigIn() async{
final formState = _formKey.currentState;
if(formState.validate()){
try{
UserCredential user = await FirebaseAuth.
instance.signInWithEmailAndPassword(email: _email, password: _password);
Navigator.push(context, MaterialPageRoute(builder: (context) => Home()));
}catch(e){
print(e.massage);
}
}
}
}Err:
进行热重启..。将文件同步到IA模拟器上的设备AOSP .在925 in中重新启动应用程序。E/flutter ( 4428):错误:flutter/lib/ui/ui_dart_state.cc(186)未处理异常: NoSuchMethodError:类'FirebaseException‘没有实例getter’FirebaseException‘。E/颤振( 4428):接收器:'FirebaseException‘E/颤振( 4428):尝试呼叫:推拿E/颤振( 4428):#0 Object.noSuchMethod (飞镖:核心补丁/对象_patch.dart:54:5)E/颤振( 4428):#1
(软件包:login/login_page.dart:149:17)E/ (package:flutter/src/gestures/recognizer.dart:182:24) ( 4428):#2 _InkResponseState._handleTap _InkResponseState._handleTap E/颤振(44 28):#3 GestureRecognizer.invokeCallback (package:flutter/src/gestures/tap.dart:598:11) E/颤振(44 28):#4 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)E/颤振(4 428):#5
BaseTapGestureRecognizer._checkUp (包装:颤振/src/手势/达帕:287:5)E/颤振( 4428):#6
BaseTapGestureRecognizer.handlePrimaryPointer (包装:颤振/src/手势/达普:222:7)E/颤振( 4428):#7
(package:flutter/src/gestures/recognizer.dart:475:9) E/颤振( 4428):#8 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:93:12) E/ PrimaryPointerGestureRecognizer.handleEvent ( 4428):#9 PointerRouter._dispatchEventToRoutes。(package:flutter/src/gestures/pointer_router.dart:138:9) E/颤振( 4428):#10 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:397:8) E/颤振( 4428):#11 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:136:18) E/颤振( 4428):#12 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:122:7) E(package:flutter/src/gestures/binding.dart:381:19) E/颤振(44 28):#14 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:361:22) E/颤振(44 28):#15 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:278:11) E/颤振(44 28):#16 GestureBinding._handlePointerEventImmediately (包装:颤振/src/手势/)E/颤振( 4428):#17 (package:flutter/src/gestures/binding.dart:280:5) E/颤振(44 28):#18 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:238:7) E/颤振(44 28):#19 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:221:7) E/颤振(4 428):#20 _rootRunUnary(飞镖:1202:13)E/颤振( 4428):#21 _CustomZone.runUnary (飞镖:异步/zone.dart:1097:19)E/zone.dart:#22 _CustomZone.runUnaryGuarded (飞镖:异步/zone.dart:1002:7)E/颤振( 4428):#23 _invoke1 (飞镖:ui/hooks.dart:176:10)E/_invoke1
PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_Dispatcher.DAT:276:7)E/颤振( 4428):#25
_dispatchPointerDataPacket (飞镖:ui/Hooks.DAT:96:31)E/颤振( 4428):
发布于 2021-01-31 16:10:46
你打错了。在打印语句中使用"print(e.message);“而不是"print(e.massage);”:
catch(e){
print(e.message);
}https://stackoverflow.com/questions/65975252
复制相似问题