如何从Firebase数据库检索所有花瓶?

时间:2019-07-12 07:28:40

标签: java android firebase firebase-realtime-database

我只是想从我的“产品”节点中检索所有数据,我不确定该怎么做,这就是我的数据库的设置方式。

Producuts(yes I am aware products is misspelled) 
 sH8LzoaH9UaXahlmssixTpvQy8q2 (UUID)
 -LiToCix_BpBU2G5b0GF (Push value)
 Description: 
 PostImage: 
 -Lj71JBxtvmbjTRLaA-6  (Push value)
 Description: 
 PostImage: 
 -Lj71K5QfoguoLKdUDL4.  (Push value)
 Description:  
 PostImage: 

从我的代码片段中可以看到,我已经设置了一个值事件监听器,我不确定如何从“产品”节点中检索所有值。

public void fetchUserInfo(){

    productDatabaseRefrence = FirebaseDatabase.getInstance().getReference().child("Producuts").child(currentUser.getUid());
    productDatabaseRefrence.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            String mGroupId = productDatabaseRefrence.push().getKey();
            Log.i("id",mGroupId);


        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

}

1 个答案:

答案 0 :(得分:2)

根据图像,您具有以下数据库:

Producuts(yes I am aware products is misspelled) 
   sH8LzoaH9UaXahlmssixTpvQy8q2 (UUID)
      -LiToCix_BpBU2G5b0GF (Push value)
         Description: 
         PostImage: 
      -Lj71JBxtvmbjTRLaA-6  (Push value)
         Description: 
         PostImage: 
      -Lj71K5QfoguoLKdUDL4.  (Push value)
         Description:  
         PostImage: 

要检索数据库中的descriptionpostimage,请尝试以下操作:

@Override
public void onDataChange(DataSnapshot dataSnapshot) {
   for(DataSnapshot ds : dataSnapshot.getChildren()){
      String key  = ds.getKey();
      String desc = ds.child("Description").getValue(String.class);
      String img  = ds.child("PostImage").getValue(String.class);
   }
}

使用getKey()可以检索随机ID示例-LiToCix_BpBU2G5b0GF (Push value),并使用child()可以检索每个随机ID下的不同子项。