Многоуровневая регистрация пользователей - Android Studio / Firebase - PullRequest
0 голосов
/ 09 октября 2018

Итак, я пытаюсь создать многоуровневую страницу входа для Android Studio, у меня есть работающая базовая регистрация.Я добавил пользовательские уровни в базу данных, но мое приложение продолжает падать.Я использую Android Studio и Firebase в качестве бэкэнда.

Login.Class

private void checkUserType() {

    DatabaseReference databaseReference = firebaseDatabase.getReference().child("Users").child(firebaseAuth.getUid());
    databaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            UserProfile userProfile = dataSnapshot.getValue(UserProfile.class);
            int userType = (userProfile.getUsertype());

            switch (userType) {
                case 0:
                    startActivity(new Intent(Login.this, DoctorActivity.class));
                    break;
                case 1:
                    startActivity(new Intent(Login.this, MainActivity.class));
                    break;
            }
        }

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

Вот как выглядит моя база данных:

This is what my database looks like.

Logcat:

Процесс: com.example.trixiavillarama.hope, PID: 5524 java.lang.NullPointerException: попытка вызвать виртуальный метод 'com.google.firebase.database.DatabaseReference com.google.firebase.database.FirebaseDatabase.getReference () 'для пустой ссылки на объект в com.example.trixiavillarama.hope.Login.checkUserType (Login.java:124) в com.example.trixiavillarama.hope.Login.checkEmailVerification (Войти.Java: 116) на com.example.trixiavillarama.hope.Login.access $ 300 (Login.java:26) на com.example.trixiavillarama.hope.Login $ 4.onComplete (Login.java:91) на com.google.android.gms.tasks.zzj.run (неизвестный источник: 23) на android.os.Handler.handleCallback (Handler.java:873) на android.os.Handler.dispatchMessage (Handler.java:99) на android.os.Looper.loop (Looper.java:193) в android.app.ActivityThread.main (ActivityThread.java: 6669) на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

1 Ответ

0 голосов
/ 09 октября 2018

Вы получаете следующую ошибку:

java.lang.NullPointerException: попытка вызвать виртуальный метод 'com.google.firebase.database.DatabaseReference com.google.firebase.database.FirebaseDatabase.getReference () 'для пустой ссылки на объект

Поскольку ваш firebaseDatabase объект null, вы забыли его инициализировать.Чтобы решить эту проблему, добавьте следующую строку кода:

FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();

Прямо перед следующей строкой кода:

DatabaseReference databaseReference = firebaseDatabase.getReference().child("Users").child(firebaseAuth.getUid());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...