FireBase 身份验证 mAuth.createUserWithEmailAndPassword(电子邮件,密码)错误
Posted
技术标签:
【中文标题】FireBase 身份验证 mAuth.createUserWithEmailAndPassword(电子邮件,密码)错误【英文标题】:FireBase Authentication mAuth.createUserWithEmailAndPassword(email, password) error 【发布时间】:2019-08-05 23:29:54 【问题描述】:所以我正在尝试向我的应用添加身份验证和登录服务,我正在按照 FireBase 上的所有步骤进行操作,尽管我无法通过这部分,但它说错误是
createUserWithEmailAndPassword(Java.lang.String, Java.lang.String) 在 FireBaseAuth 不能应用于(android.widget.text, Android.widget.text)
提前感谢您提供的任何帮助。代码如下:
public void Register(View view)
Intent intent = new Intent(LoginActivity.this, BottomActivity.class);
startActivity(intent);
attemptLogin();
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener( this, new OnCompleteListener<AuthResult>()
@Override
public void onComplete(@NonNull Task<AuthResult> task)
if (task.isSuccessful())
Log.d( TAG, "createUserWithEmail:success" );
FirebaseUser user = mAuth.getCurrentUser();
updateUI( user );
else
Log.w(TAG, "createUserWithEmail:failed");
Toast.makeText(LoginActivity.this, "Authentication failed", Toast.LENGTH_SHORT).show();
updateUI( null );
);
电子邮件/密码:
private AutoCompleteTextView email;
private EditText password;
【问题讨论】:
显示你如何初始化变量 email 和 password 同时删除多余的空间(email, password)
请告诉我们在尝试进行身份验证时emai
和password
的值是什么。也请回复@AlexMamo
@AlexMamo 私人 AutoCompleteTextView 电子邮件;私人 EditText 密码;
你试过ribbit的解决方案吗?
【参考方案1】:
通过阅读您收到的错误,这表明您传递的参数类型与方法所期望的不匹配。它需要String
对象。因此,您需要从 TextView
和 EditText
中提取该值。
尝试将email.getText().toString()
和password.getText().toString
作为参数而不是email
和password
传递。
所以
mAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())...
【讨论】:
【参考方案2】:这样使用
mAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString()).addOnCompleteListener( this, new OnCompleteListener<AuthResult>()
@Override
public void onComplete(@NonNull Task<AuthResult> task)
if (task.isSuccessful())
Log.d( TAG, "createUserWithEmail:success" );
FirebaseUser user = mAuth.getCurrentUser();
updateUI( user );
else
Log.w(TAG, "createUserWithEmail:failed");
Toast.makeText(LoginActivity.this, "Authentication failed", Toast.LENGTH_SHORT).show();
updateUI( null );
);
【讨论】:
谢谢,它成功了,现在,我如何从这个到每次用户按下“注册”按钮时,它都会在 Firebase 上创建一个新用户? 很高兴听到这个消息【参考方案3】:答案很简单,你应该在 built.gradle 的依赖项中添加一个类路径 'com.google.gms:google-services:4.3.8' 然后在 built.gradle(app) 中添加 id 'com.google.gms.google-services' 就是这样。
【讨论】:
嘿伙计。感谢您的输入。但是,大约 2 年前我设法解决了这个问题,哈哈。以上是关于FireBase 身份验证 mAuth.createUserWithEmailAndPassword(电子邮件,密码)错误的主要内容,如果未能解决你的问题,请参考以下文章
将 Firebase 身份验证与 Firebase 数据库连接