从Android的Firebase数据库检索特定节点

问题描述:

我想在我的android应用程序中使用Firebase。我需要得到一个对象,我正在用它的电子邮件(属性在对象中)进行搜索。 这是我的搜索代码:从Android的Firebase数据库检索特定节点

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("Remorqueur"); 
Query queryRef=myRef.orderByChild("email").equalTo(ed_mail.getText().toString()); 

如果在我的数据库中存在的对象,我需要得到整个对象回来了!我该怎么做?

+1

只是附加'ValueEventListener'该查询,然后如果存在与否的数据使用,您可以检查如果我发现我正在寻找像这样︰query.addValueEventListener(new ValueEventListener(){@Override public void onDataChange(DataSnapshot dataSnapshot())' – Wilik

+0

我需要委托操作到一个新的活动){if(dataSnapshot.exists()){Log.d(“tes之三”, “existe”); RQ = TRUE; Intent i = new Intent(Accueil.this,Map_Client.class); }在这个函数中,这个意图不起作用,我该怎么办? –

试试这个请

DatabaseReference dbRef = firebaseDatabase.getReference("Remorqueur"); 
    Query query = profileDbRef 
       .orderByChild("email") 
       .equalTo(ed_mail.getText().toString()); 
     query.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) { 
        Log.d(TAG, dataSnapshot1.getKey() + " " + dataSnapshot1.getValue(Profile.class) 
          .toString()); 
        } 
       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
+0

我需要委派的动作到一个新的活动时,我发现西隧我在寻找这样的: query.addValueEventListener(新ValueEventListener(){ @覆盖 公共无效onDataChange(DataSnapshot dataSnapshot){ 如果(dataSnapshot。存在()){ Log.d( “测试器”, “existe”); RQ = TRUE; 意图I =新意图(Accueil.this,Map_Client.class); } 这里在该功能的意图不起作用,我可以合作吗? –

+0

我认为你在初始化你的意图后错过了startActivity(i)调用 –

+0

它在那里不起作用 –

应该能够这样做以下

 queryRef.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) { 
        MyPojo app = childSnapshot.getValue(MyPojo.class); 
       }