从android中的firebase数据库中检索特定节点

时间:2016-12-06 17:40:44

标签: android firebase firebase-realtime-database

我正在尝试在我的Android应用程序中使用Firebase。我需要获取一个对象,我正在搜索它的电子邮件(对象中的属性)。 这是我的搜索代码:

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

如果对象存在于我的数据库中,我需要恢复整个对象!我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

应该可以做类似以下的事情

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

答案 1 :(得分: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) {

            }
        });