Как получить список данных под 1 ребенком в базе данных Firebase в Android Studio

Данные, хранящиеся в firebase:

 29-06-2018(date)

     -AAAA
           -25142(jobno)
           -Park station(address)
           -BMW(model)

     -BBBB 
           -85142(jobno)
           -Base station(address)
           -Ford(model)

Здесь я хочу, чтобы все дети находились под -BBBB. Не хотите проходить через AAAA. Как получить непосредственно ребенка BBBB. У меня есть данные (дата, BBBB). Просто хочу получить jobno, адрес, модель BBBB. Пожалуйста, предложите мне решение.

Мой код здесь

DatabaseReference database = FirebaseDatabase.getInstance().getReference();
        DatabaseReference pwd = database.child("29-06-2018").child("BBBB");

        pwd.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot ds : dataSnapshot.getChildren()) {    
                        String a = ds.child("jobno").getValue(String.class);
                        String b = ds.child("address").getValue(String.class);
                        String c = ds.child("model").getValue(String.class);

                }
            }

            @Override
            public void onCancelled(DatabaseError error) {

            }

        });

android,firebase,firebase-realtime-database,

1

Ответов: 2


1 принят

Вы слушаете одного ребенка /29-06-2018/BBBB. Завершив цикл, dataSnapshot.getChildren()вы перебираете каждое свойство, а затем пытаетесь достичь дочернего свойства для каждого. Это не сработает, поэтому вам нужно избавиться от цикла onDataChange:

pwd.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot ds) {
        String a = ds.child("jobno").getValue(String.class);
        String b = ds.child("address").getValue(String.class);
        String c = ds.child("model").getValue(String.class);
    }

0
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
        DatabaseReference pwd = database.child("29-06-2018").child("BBBB");

        pwd.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                        String a = dataSnapshot.child("jobno").getValue(String.class);
                        String b = dataSnapshot.child("address").getValue(String.class);
                        String c = dataSnapshot.child("model").getValue(String.class);


            }

            @Override
            public void onCancelled(DatabaseError error) {

            }

        });
андроид, firebase, firebase-в режиме реального времени, базы данных,
Похожие вопросы