我是新来的,这是我的第一个问题,希望我能得到答案。
因此,我正在构建一个流畅的移动应用程序,它首先显示主页,但是如果您单击配置文件图标,您必须登录以创建配置文件并保存您的工作。问题是,当我尝试登录或注册时,显示主页需要3-5分钟,这是非常长的时间。
这是我的第四页:
class AuthService{
final FirebaseAuth _auth = FirebaseAuth.instance;
//creat user obj based on FirebaseUser
UserModel? _userFromFirebaseUser (User? user){
return user != null ? UserModel(uid: user.uid) : null;
}
//sign up with email & password
Future signUp(String email, String password) async {
try{
UserCredential result = await _auth.createUserWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebaseUser(user);
}
on FirebaseAuthException catch (e){
Utils.showSnackBar(e.message, Colors.red);
}
}
//log in with email & password
Future logIn(String email, String password) async {
try{
UserCredential result = await _auth.signInWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebaseUser(user);
}
on FirebaseAuthException catch (e){
Utils.showSnackBar(e.message, Colors.red);
}
}
}这是注册按钮功能:
ElevatedButton(
onPressed: () async {
final isValid = _formKey.currentState!.validate();
if(!isValid) return;
showDialog(
context: context,
builder: (context) => const Center(child: CircularProgressIndicator()),
);
await _auth.signUp(_emailCont.text.trim(), _passwordCont.text.trim());
navigatorKey.currentState!.popUntil((route) => route.isFirst);
},
style: ElevatedButton.styleFrom(
padding: const EdgeInsets.symmetric(horizontal: 138, vertical: 13),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30)),
),
child: const Text(
'Sign Up',
style: TextStyle(fontSize: 22, letterSpacing: 1.5),
),
),...................................................................
发布于 2022-11-11 15:55:36
实际上,Firebase足够快,以至于正常的auth操作应该执行得非常快。
我能说这是问题的唯一原因是你在机器上使用的android仿真器。这是Windows平台上最新版本的Android模拟器的问题所在。
因此:
将您要使用的模拟器更改为另一个仿真器,或在实际设备上试用。
如果您仍然遇到此问题,请将仿真程序版本从此处降级为旧版本https://developer.android.com/studio/emulator_archive。
https://stackoverflow.com/questions/74404740
复制相似问题