[英]Firebase Email and Password Authentication with android - User sign up
[英]Firebase email user authentication
`我正在尝试从用户动态提取电子邮件以创建帐户,但是Firebase不断返回电子邮件错误...我想知道是否可以动态提取电子邮件,或者您必须对电子邮件和密码进行硬编码。
final EditText email = (EditText)findViewById(R.id.new_email);
final String newEmail = email.getText().toString();
final EditText password = (EditText)findViewById(R.id.new_password);
final String newPass = password.getText().toString();
final EditText username = (EditText)findViewById(R.id.full_name);
final String userName = username.getText().toString();
@Override
public void onClick(View v){
rootRef.createUser(newEmail,newPass,new Firebase.ValueResultHandler<Map<String,Object>>(){
@Override
public void onSuccess(Map<String,Object> result){
rootRef.child("users").child(userName).child("User Name").setValue(userName);
rootRef.authWithPassword(newEmail,newPass,new Firebase.AuthResultHandler(){
@Override
public void onAuthenticated(AuthData authData){
Intent a = new Intent(CreateAccount.this,userHome.class);
startActivity(a);
}
@Override
public void onAuthenticationError(FirebaseError firebaseError){
text1.setText("An error occurred.Please try again");
}
});
}
@Override
public void onError(FirebaseError firebaseError){
Fragment createAccount = new Fragment();
getSupportFragmentManager().beginTransaction().add(R.id.sign_up_fail,createAccount).commit();
switch (firebaseError.getCode()){
case FirebaseError.EMAIL_TAKEN:
text1.setText("That Email is already taken");
break;
case FirebaseError.INVALID_EMAIL:
text1.setText("That Email is invalid");
break;
case FirebaseError.NETWORK_ERROR:
text1.setText("Network Error.Check your connection.");
}
}
});
}
});
您可能已经发布了Firebase返回的错误。
您无需对电子邮件或密码进行硬编码,请查看其教程页面以进行android用户身份验证: https : //www.firebase.com/docs/android/guide/user-auth.html
*编辑*
这是个人代码示例,可能会为您提供帮助。
referencia.createUser(email.getText().toString(), senha.getText().toString(), new Firebase.ValueResultHandler<Map<String, Object>>()
{
@Override
public void onSuccess(Map<String, Object> result)
我目前在功能齐全的应用程序上使用它。 如果您的计算机不工作,则可以发送错误消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.