在Android中注册Firebase时存储其他信息 [英] Store additional information during registration with Firebase in Android

查看:160
本文介绍了在Android中注册Firebase时存储其他信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试通过发送电子邮件和密码来使用Firebase身份验证来创建用户。现在我想在用户创建后存储名字和姓氏。由于我是Android和Firebase的新手,我只是不知道该怎么做。任何人都可以帮助我吗?

我的代码:

  public类RegistrationActivity扩展了AppCompatActivity {

private FirebaseAuth auth;
按钮取消,提交;
EditText电子邮件,密码,名字,姓氏;
私人ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);

progressDialog = new ProgressDialog(this);

email =(EditText)findViewById(R.id.email);
password =(EditText)findViewById(R.id.password);
firstName =(EditText)findViewById(R.id.firstName);
lastName =(EditText)findViewById(R.id.lastName);

submit =(Button)findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String inputEmail = email.getText()。toString()。 trim();
String inputPassword = password.getText()。toString()。trim();
registerUser();
}
});


private void registerUser(){
final String inputFirstName = firstName.getText()。toString();
String inputLastName = lastName.getText()。toString();
final String inputEmail = email.getText()。toString();
String inputPassword = password.getText()。toString();

progressDialog.setMessage(Registering ..);
progressDialog.show();
$ b $ //创建用户
auth.createUserWithEmailAndPassword(inputEmail,inputPassword)
.addOnCompleteListener(RegistrationActivity.this,new OnCompleteListener< AuthResult>(){
@Override
public void onComplete(@NonNull Task< AuthResult> task){
if(!task.isSuccessful()){
Toast.makeText(RegistrationActivity.this,Authentication failed。+ task。 getException(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegistrationActivity.this,User created successfully。,Toast.LENGTH_SHORT).show );
progressDialog.hide();
startActivity(new Intent(RegistrationActivity.this,MainActivity.class));
}
}
});


解决方案

您可以创建一个用户类像这样:

  public class User {

String name;
字符串姓氏;
字符串网站;
...
$ b $ public User(){
//所需的默认构造函数
}
$ b $ public void setName(String name) {this.name = name;}
public void setSurname(String surname){this.surname = surname;}
public void setWebsite(String website){this.website = website;}

public String getName(){return name; }
.....

}

使用它:

  User user = new User(); 
user.setName(xxxx);
user.setSurname(xxxx);
user.setWebsite(xxxx);

mDatabase.child(users)。push()。setValue(user);


I tried to create a user using Firebase Auth by sending an email and a password. Now I want to store the first name and last name after a user is created. Since I am new to Android and Firebase, I just don't see how to do that. Can anyone help me on this?

My code:

public class RegistrationActivity extends AppCompatActivity {

private FirebaseAuth auth;
Button cancel, submit;
EditText email, password, firstName, lastName;
private ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_registration);

    progressDialog = new ProgressDialog(this);

    email = (EditText) findViewById(R.id.email);
    password = (EditText) findViewById(R.id.password);
    firstName = (EditText) findViewById(R.id.firstName);
    lastName = (EditText) findViewById(R.id.lastName);

    submit = (Button) findViewById(R.id.submit);
    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String inputEmail = email.getText().toString().trim();
            String inputPassword = password.getText().toString().trim();
            registerUser();
        }
    });
}

private void registerUser(){
    final String inputFirstName = firstName.getText().toString();
    String inputLastName = lastName.getText().toString();
    final String inputEmail = email.getText().toString();
    String inputPassword = password.getText().toString();

    progressDialog.setMessage("Registering..");
    progressDialog.show();

    //create user
    auth.createUserWithEmailAndPassword(inputEmail, inputPassword)
            .addOnCompleteListener(RegistrationActivity.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (!task.isSuccessful()) {
                        Toast.makeText(RegistrationActivity.this, "Authentication failed." + task.getException(),
                                Toast.LENGTH_SHORT).show();
                    } else {                      
                        Toast.makeText(RegistrationActivity.this, "User created successfully.", Toast.LENGTH_SHORT).show();
                        progressDialog.hide();
                        startActivity(new Intent(RegistrationActivity.this, MainActivity.class));
                    }
                }
            });
}

解决方案

You can create a user class like this:

public class User{

 String name;
 String surname;
 String website;
 ....

 public User(){
   // Default constructor required
 }

 public void setName(String name){this.name = name;}
 public void setSurname(String surname){this.surname = surname;}
 public void setWebsite(String website){this.website = website;}

 public String getName(){ return name; }
 .....

}

Then just use it:

User user = new User();
user.setName("xxxx");
user.setSurname("xxxx");
user.setWebsite("xxxx");

mDatabase.child("users").push().setValue(user);

这篇关于在Android中注册Firebase时存储其他信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆