Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中从firebase数据库检索特定节点_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

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

在android中从firebase数据库检索特定节点,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在尝试在我的android应用程序中使用Firebase。我需要获取一个对象,我正在搜索它的电子邮件(对象中的属性)。 这是我的搜索代码: FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("Remorqueur"); Query queryRef=myRef.orderByChild("email").equalTo(ed_m

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

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

如果对象存在于我的数据库中,我需要取回整个对象!我该怎么做呢?

应该可以做如下事情

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

应该能够做到以下几点

       queryRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
                    MyPojo app = childSnapshot.getValue(MyPojo.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) {

            }
        });
请试试这个

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) {

            }
        });

只需将一个
ValueEventListener
附加到该查询,然后您就可以使用
if(dataSnapshot.exists())
检查数据是否存在。当我找到我要查找的内容时,我需要将该操作委派给一个新的活动:query.addValueEventListener(new ValueEventListener(){@Override public void onDataChange(DataSnapshot DataSnapshot){if(DataSnapshot.exists(){Log.d(“tester”,“existe”);rq=true;Intent i=newintent(Accueil.this,Map_Client.class);}在该函数中,Intent不起作用,我能做什么?只需在该查询中附加一个
ValueEventListener
,然后您就可以检查数据是否存在(dataSnapshot.exists())当我找到我要查找的内容时,我需要将该操作委托给一个新活动:query.addValueEventListener(new ValueEventListener(){@Override public void onDataChange(dataSnapshot dataSnapshot){if(dataSnapshot.exists()){Log.d(“tester”,“existe”);rq=true;Intent I=new Intent(Accueil.this,Map_Client.class);}在该函数中,意图不起作用,我可以做什么?当我找到我要查找的内容时,我需要将该操作委托给一个新活动:query.addValueEventListener(new ValueEventListener(){@Override public void onDataChange(DataSnapshot DataSnapshot){if(dataSnapshot.exists()){Log.d(“tester”,“existe”);rq=true;Intent i=newintent(accureil.this,Map_Client.class);}在这个函数中,意图不起作用,我能做什么呢?我想你在初始化意图后错过了startActivity(I)调用。当我找到我要找的内容时,需要将该操作委派给一个新的活动:query.addValueEventListener(new ValueEventListener()){@Override public void onDataChange(DataSnapshot DataSnapshot){if(DataSnapshot.exists()){Log.d(“tester”,“existe”);rq=true;Intent i=new Intent(accureil.this,Map_Client.class);}在这个函数中,意图不起作用,我能做什么呢?我想你在初始化意图后错过了startActivity(I)调用