Как итеративно получать данные из Firebase с помощью Android? - PullRequest
0 голосов
/ 05 июля 2018

У меня есть 2 вопроса:

  1. Как итеративно получить имена всех имен пользователей от первого до последнего пользователя?

  2. Как получить данные со всех узлов-братьев по одному ID. Предположим, я ввел xyz, запрос должен вернуть number:99, car1 .... и т. Д.)


User1{
  name: xyz
  number: 99...
  car1{ regno: 123
        make: ghj   }
  car2{.....}
 }
User2{..... }

1 Ответ

0 голосов
/ 05 июля 2018

Q1> Как итеративно получить имена всех имен пользователей от первого до последнего пользователя?

  DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");

reference.addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
public void onDataChange(DataSnapshot dataSnapshot) {
    for(DataSnapshot datas: dataSnapshot.getChildren()){
      String names=datas.child("name").getValue().toString();
     }
  }
 @Override
public void onCancelled(DatabaseError databaseError) {
     }
});

Здесь у вас есть снимок на Users, затем вы выполняете итерацию внутри каждого пользователя и извлекаете имена, предполагая, что у вас есть эта база данных:

 Users
   user1
     name:xyz
   user2
     name: xziq

Q2> Как я могу получить данные со всех узлов-братьев по одному ID.

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
Query queries=ref.orderByChild("name").equalTo("xyz");
queries.addListenerForSingleValueEvent(new ValueEventListener() {...}

Чтобы получить узлы-братья, вам нужно использовать запрос типа orderByChild("name").equalTo("xyz"), затем присоединить прослушиватель и получить другие узлы.

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