我想从Firebase实时数据库中检索中间对象名称。我的数据库看起来像:
在此示例中,我感兴趣的是检索first子级中的rBRAalNLEyfEcGeCDjMUOQGxXIF2
。请帮助!
有两种方法可以从raltime数据库中获取rBRAalNLEyfEcGeCDjMUOQGxXIF2
第一:如果您知道父母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){
}
});
第二:如果您不知道父键,请尝试此代码
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){
}
});