Android Studio отправляет данные в Firebase, но в базе данных Firebase данные не сохраняются - PullRequest
0 голосов
/ 30 апреля 2018

Соединение с Firebase успешно, и у меня есть все необходимые импорты. Есть ли логическая ошибка в этом коде?

Данные отправляются в Firebase, но никогда не сохраняются в базе данных. Имя моей базы данных правильное. Это выглядит следующим образом -> имя базы данных -> 2children (Клиенты) (Riders). Правописание было дважды проверено.

public class DriverLoginActivity extends AppCompatActivity {
        private EditText mEmail, mPassword;
        private Button mLogin, mRegistration;

        private FirebaseAuth mAuth;
        private FirebaseAuth.AuthStateListener firebaseAuthListener;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_driver_login);

            mAuth = FirebaseAuth.getInstance();

            firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
                @Override
                public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                    if(user!=null){
                        Intent intent = new Intent(DriverLoginActivity.this, MapActivity.class);
                        startActivity(intent);
                        finish();
                        return;
                    }
                }
            };

            mEmail = (EditText) findViewById(R.id.email);
            mPassword = (EditText) findViewById(R.id.password);

            mLogin = (Button) findViewById(R.id.login);
            mRegistration = (Button) findViewById(R.id.registration);

            mRegistration.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final String email = mEmail.getText().toString();
                    final String password = mPassword.getText().toString();
                    mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(DriverLoginActivity.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if(!task.isSuccessful()){
                                Toast.makeText(DriverLoginActivity.this, "sign up error", Toast.LENGTH_SHORT).show();
                            }else{
                                String user_id = mAuth.getCurrentUser().getUid();
                                DatabaseReference current_user_db = FirebaseDatabase.getInstance().getReference().child("Users").child("Drivers").child(user_id);
                                current_user_db.setValue(true);
                            }
                        }
                    });
                }
            });

            mLogin.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final String email = mEmail.getText().toString();
                    final String password = mPassword.getText().toString();
                    mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(DriverLoginActivity.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if(!task.isSuccessful()){
                                Toast.makeText(DriverLoginActivity.this, "sign in error", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });

                }
            });
        }


        @Override
        protected void onStart() {
            super.onStart();
            mAuth.addAuthStateListener(firebaseAuthListener);
        }
        @Override
        protected void onStop() {
            super.onStop();
            mAuth.removeAuthStateListener(firebaseAuthListener);
        }
    }




  [1]: https://i.stack.imgur.com/xMWqS.jpg

1 Ответ

0 голосов
/ 30 апреля 2018

Код вроде в порядке. Пользователь успешно зарегистрирован ?? Если да, то проверьте правила вашей базы данных. Если нет, то проверьте свой регистрационный код.

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