2

我尝试通过发送电子邮件和密码来使用Firebase身份验证创建用户。现在我想在用户创建后存储名字和姓氏。由于我是Android和Firebase的新手,我只是不知道该怎么做。谁可以帮我这个事?在Android中注册Firebase期间存储其他信息

我的代码:

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)); 
        } 
       } 
      }); 
} 
+0

要存储的信息在哪里呢? –

+0

使用createUserWithEmailAndPassword()创建用户后,我想创建一个名为“user”的节点。在用户下,我想存储名字,姓氏,电子邮件和密码。 – sangeeta

+0

好的,问题在哪里?只需获取数据并将其保存在Firebase中即可。 –

回答

3

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

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; } 
..... 

} 

然后,只需使用它:

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

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

在JavaScript中,可以一次将所有数据作为JSON对象发送。有没有什么办法可以在Java中这样做,这是唯一的方法吗? – sangeeta

+0

@sangeeta你的问题是在Java中......无论如何,你可以用许多方式和许多语言来做到这一点。对于js检查:https://firebase.google.com/docs/database/web/read-and-write –

+0

不,我只是想,如果有任何其他方式。我正在尝试在Android中执行此操作。无论如何,我明白了。感谢您的帮助。 – sangeeta

相关问题