2016-12-06 113 views
0

我想在我的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); }在這個函數中,這個意圖不起作用,我該怎麼辦? –

回答

1

試試這個請

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

它在那裏不起作用 –

2

應該能夠這樣做以下

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