实际上我有两个问题:
如何迭代获取从第一个用户到最后一个用户的所有用户名的名称?
如何通过一个 ID 从所有兄弟节点检索数据。假设我输入
xyz
,查询应返回number:99, car1
....等)
User1{
name: xyz
number: 99...
car1{ regno: 123
make: ghj }
car2{.....}
}
User2{..... }
最佳答案
Q1>How do I iteratively get the names of all user names from first to last user?
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>How can I retrieve data from all the sibling nodes from one ID.(Suppose I enter xyz, the query should return number:99, car1....etc)
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
Query queries=ref.orderByChild("name").equalTo("xyz");
queries.addListenerForSingleValueEvent(new ValueEventListener() {...}
要检索兄弟节点,您需要使用类似 orderByChild("name").equalTo("xyz")
的查询,然后附加一个监听器并检索其他节点。
关于java - 如何使用 Android 从 Firebase 迭代检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51183954/