java - 在对象名称之间检索
问题描述
我想从 firebase 实时数据库中检索中间对象名称。我的数据库看起来像:
在这个例子中,我有兴趣检索rBRAalNLEyfEcGeCDjMUOQGxXIF2
第一个孩子。请帮忙!
解决方案
有两种方法可以 从实时数据库中获取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){
}
});
推荐阅读
- linker - 无法在 BPL 中找到未解析的外部/过程入口点
- reactjs - 模态打开时反应键盘事件未触发
- yii2 - 在 Yii2 中的 DetailView::widget 上打开图片
- python - 如何使用 xlwings 在 Excel 中复制和粘贴筛选表
- java - mockMvc,从 SpringBoot 中的 json 文件中获取内容
- python-3.x - 如何在python中将我的sql结果转换为以下字典格式?
- c# - WPF Material Design ComboBox Flyout问题
- laravel - 在 laravel 5.1 中全局注册自定义构建器
- azure - Azure 媒体服务 - 客户端上设置的自定义转换丢失?
- php - 将其转换为使用 Guzzle 不起作用