Как связать Аутентификацию Firebase с существующими пользователями в Базе данных? - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть приложение, которое пользователи регистрируют и хранят эти данные в базе данных Firebase. Firebase-сборка похожа на корневую базу данных firebase. Пользователи:

"test" : {
      "email" : "test@gmail.com",
      "gender" : "Male",
      "password" : "test",
      "userName" : "test",
      "user_class" : "Barbarian"
    },

Я хочу добавить аутентификацию Firebase с электронной почтой и паролем, но я хочу сохранить структуру базы данных (с полем пользователя). Как я могу это сделать?

Это моя форма отправки для создания пользователя в базе данных:

private void submitForm() {


        String user_class = String.valueOf(spinner.getSelectedItem());

        int selectedId = genderRadioGroup.getCheckedRadioButtonId();
        String gender;
        if (selectedId == R.id.female_radio_btn)
            gender = "Female";
        else
            gender = "Male";

        final User user = new User(signupInputName.getText().toString(),
                signupInputPassword.getText().toString(),
                signupInputEmail.getText().toString(),
                gender,
                user_class);

        users.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if (dataSnapshot.child(user.getUserName()).exists())
                    Toast.makeText(RegisterActivity.this, "User already exists! ", Toast.LENGTH_SHORT).show();
                else {
                    users.child(user.getUserName())
                            .setValue(user);
                    Toast.makeText(RegisterActivity.this, "User registration success! ", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(
                            RegisterActivity.this,
                            MainActivity.class);
                    startActivity(intent);
                    finish();

                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...