При запросе к базе данных есть объект, но getValue () вернет ноль

По моему опыту с этой ошибкой и с кодом, который вы пишете, вам не хватает функции фрейма.

Добавьте, где ваши кадры (например: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);) и добавьте функцию frame.add(game);

В этом примере моя Display game = new Display();, но в зависимости от того, какая ваша переменная для новый дисплей, он может отличаться.

3
задан marc_s 20 February 2019 в 20:02
поделиться

1 ответ

РЕДАКТИРОВАТЬ:

Если вы не хотите передавать userId, используйте этот запрос:

mDatabaseReference = mFirebaseDatabase.getReference();
Query query = mDatabaseReference.orderByChild("user/email").equalTo(email);

Вы пропустили идентификатор пользователя уровень. Вы должны изменить свой код на:

private void getUserFromRealtimeFirebase(String email, String userId) {
    mFirebaseDatabase = FirebaseDatabase.getInstance();
    mDatabaseReference = mFirebaseDatabase.getReference().chlid(userId).child("user");
    Query query = mDatabaseReference.orderByChild("email").equalTo(email);
...
...
}

Кстати, я бы рассмотрел возможность реорганизации структуры данных для - newsapp -> users -> {userId} -> {name, image, firebase-token, email. ...}.

Кроме того, для обратного вызова - сначала проверьте, если dataSnapshot.exists (), и только после этого используйте getValue (), даже если он находится внутри журнала, чтобы избежать исключения нулевого указателя.

0
ответ дан Orit Malki 20 February 2019 в 20:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: