Get child ID from Firebase android [closed]

点点圈 提交于 2019-12-02 19:17:15

问题


I'm quite new to android development and I'm developing an android app with Firebase to get a person's name and adress. My database looks like this:

    Users
       id: user1
       id: user2
       id: user3

    Adresses
       id: adress1
       id: adress2
       id: adress3

I want to get 'id' from a user to get the corresponding adress, but I cannot seem to achieve it. Any ideas?


回答1:


Fetch all the userids like this :-

List<String> userIdList = new ArrayList();
DatabaseReference databaseRef = FirebaseDatabase.getInstance().getReference();
databaseRef.child("User").addValueEventListener(new ValueEventListener() {
    @Override
   public void onDataChange(DataSnapshot dataSnapshot) {
           if(dataSnapshot==null)return;
          for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) { 
               userIdList.add(postSnapShot.getKey());
          }
   }

@Override
public void onCancelled(DatabaseError   databaseError) {
    // Error
  }
};

Get the address corresponding to any userId

databaseRef.child("Adresses").orderByKey().equalTo(userIdList.get(0)).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot==null || dataSnapshot.getChildren()==null || !dataSnapshot.getChildren().iterator().hasNext()){
   String address = dataSnapshot.getValue(String.class);
 }
}

@Override
 public void onCancelled(DatabaseError databaseError) {
 // Error
 }
};


来源:https://stackoverflow.com/questions/41348891/get-child-id-from-firebase-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!