Как получить список данных до 1 ребенка в базе данных Firebase в Android Studio - PullRequest
0 голосов
/ 29 июня 2018

Данные хранятся в базе данных:

 29-06-2018(date)

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

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

Здесь я хочу, чтобы все дети до -BBBB. Не хочу перебирать AAAA. Как правильно получить ребенка от BBBB. У меня есть данные (дата, BBBB). Просто хочу получить работу, адрес, модель 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) {

            }

        });

Ответы [ 2 ]

0 голосов
/ 29 июня 2018
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) {

            }

        });
0 голосов
/ 29 июня 2018

Вы слушаете одного ребенка /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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...