【发布时间】:2019-10-30 18:21:56
【问题描述】:
我想从 firebase 实时数据库中检索中间对象名称。 我的数据库如下所示:
在此示例中,我有兴趣在 first 子项中检索 rBRAalNLEyfEcGeCDjMUOQGxXIF2。
请帮忙!
【问题讨论】:
标签: java android firebase firebase-realtime-database
我想从 firebase 实时数据库中检索中间对象名称。 我的数据库如下所示:
在此示例中,我有兴趣在 first 子项中检索 rBRAalNLEyfEcGeCDjMUOQGxXIF2。
请帮忙!
【问题讨论】:
标签: java android firebase firebase-realtime-database
有两种方法可以从实时数据库中获取 rBRAalNLEyfEcGeCDjMUOQGxXIF2。
1) 如果您知道父母 ID,请尝试使用此代码获取 rBRAalNLEyfEcGeCDjMUOQGxXIF2
final DatabaseReference realTimeDataBaseRef=FirebaseDatabase.getInstance().getReference().child("friend_request").child("cUCvOB7EDDcBQeffxvPslG2pz2A2");
realTimeDataBaseRef.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot){
for(DataSnapshot item1: dataSnapshot.getChildren()){
Log.i("check_middle_value",""+item1.getKey());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError){
}
});
2) 如果您不知道父键,请尝试此代码。
final DatabaseReference realTimeDataBase=
FirebaseDatabase.getInstance().getReference().child("friend_request").child("cUCvOB7EDDcBQeffxvPslG2pz2A2");
realTimeDataBase.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot){
for(DataSnapshot item: dataSnapshot.getChildren()){
realTimeDataBase.child(item.getKey()).addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot){
for(DataSnapshot item1: dataSnapshot.getChildren()){
Log.i("check_middle_value",""+item1.getKey());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError){
}
});
break;
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError){
}
});
【讨论】: