【问题标题】:Retreiving in between object name在对象名称之间检索
【发布时间】:2019-10-30 18:21:56
【问题描述】:

我想从 firebase 实时数据库中检索中间对象名称。 我的数据库如下所示:

Database Snapshot

在此示例中,我有兴趣在 first 子项中检索 rBRAalNLEyfEcGeCDjMUOQGxXIF2。 请帮忙!

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    有两种方法可以从实时数据库中获取 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){
               }
            });
    

    【讨论】:

      猜你喜欢
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2011-12-02
      相关资源
      最近更新 更多