Sriram R
Sriram R

Reputation: 2229

Need to enter more data for user sign up in Firebase

I'm new to Firebase. I was looking at the Firebase documentation and it seems good. But one thing I've noticed is that when I register/sign up my users, I can only get their email ID and password.

However, for my app, I need my users to enter more details like name, address, phone, and some other details. How can I do this?

I thought maybe I can use the real time database, but then I didn't know how to match the users with their respective details from the realtime database. Please give me some ideas on how to do this.

Upvotes: 2

Views: 2682

Answers (2)

Saurabh Padwekar
Saurabh Padwekar

Reputation: 4074

On Success of registration , get all the details and update/create the information in firebase database.

 final String emailId = mEditTextEmail.getText().toString() ;
 String password = mEditTextPassword.getText().toString() ;
 firebaseRef.createUser(emailId, password, new Firebase.ValueResultHandler<Map<String,Object>>() {
         @Override
         public void onSuccess(Map<String, Object> stringObjectMap) {

                            User user = new User();
                            user.setUid(stringObjectMap.get("uid").toString());
                            user.setEmail(emailId);
                            user.setProfileStatus(User.NEW);
                            firebaseRef.child("Users").child(user.getUid()).setValue(user);
                            mProgressBar.setVisibility(View.GONE);

                            Intent intent = new Intent(SignupActivity.this,LoginActivity.class);
                            intent.putExtra("email",mEditTextEmail.getText().toString());
                            startActivity(intent);

                            Toast.makeText(getBaseContext(),"You are Successfully Registered in",Toast.LENGTH_SHORT).show();
                            Toast.makeText(getBaseContext(),"Login to continue..",Toast.LENGTH_SHORT).show();

                        }

Upvotes: 1

ZassX
ZassX

Reputation: 1379

You're right. In order to save some user data, you will have to use Realtime Database. There are few properties you can assign to user like email, photoURL, displayName but for more than that you have to use database.

Hope it helps, here is a way I am doing it: I created "users" node in database and every time new user registers, new entry with his uid gets inserted. Check screenshot below:

enter image description here

So every time you need to get user data, just call child at "users" node with given "current user uid".

Upvotes: 3

Related Questions