проверка данных в базе данных реального времени Firebase не работает - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь проверить, существует ли полосовой код, но он не работает. Exists возвращает false когда-либо.

Это код:

databaseReference.child("Band_Codes").addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        for(DataSnapshot data: dataSnapshot.getChildren()){
                            if(data.child(codeCheck).exists()){
                                //do something
                            }
                            else{
                                //do something
                            }
                        }
                    }
                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
                    }
                });

enter image description here

System.out.prinln(data.child(codeCheck)) returns: DataSnapshot { key = kN9VIY6AC3Zx5FP, value = null }

kN9VIY6AC3Zx5FP также присутствует в БД.

Изображение является только примером.

1 Ответ

0 голосов
/ 04 мая 2020

вы передаете codeCheck в качестве ключа. но это не ключ, это ценность. Вы должны передать "code" как data.child("code") и проверить, равно ли его значение codeCheck.

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