Android 尝试读取数据时未调用Firebase侦听器

Android 尝试读取数据时未调用Firebase侦听器,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我刚开始使用Firebase数据库,也在慢慢学习Android。无论如何,我尝试将数据存储在Firebase数据库中,结果成功了。 现在我正试图从Firebase数据库读取数据,但不幸的是,我无法做到这一点 为了从Firebase数据库中查询数据,我读了很多书,但仍然无法让它工作 以下是存储在Firebase实时数据库中的数据 下面是我试图获取数据的参考代码。 我已连接手机,以便使用adb调试android应用程序。 在尝试调试时,我将断点保持在onDataChange,但从未命中。 我可以在

我刚开始使用Firebase数据库,也在慢慢学习Android。无论如何,我尝试将数据存储在Firebase数据库中,结果成功了。 现在我正试图从Firebase数据库读取数据,但不幸的是,我无法做到这一点

为了从Firebase数据库中查询数据,我读了很多书,但仍然无法让它工作

以下是存储在Firebase实时数据库中的数据

下面是我试图获取数据的参考代码。 我已连接手机,以便使用adb调试android应用程序。 在尝试调试时,我将断点保持在
onDataChange
,但从未命中。 我可以在查询值中看到一些信息,但无法获得查询的完整信息。该值不包含我的查询结果

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_request);

    databaseRequests = FirebaseDatabase.getInstance().getReference("Requests");
    Query query = databaseRequests.orderByChild("requestNo").equalTo(11);
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Request request = dataSnapshot.getValue(Request.class);
            Log.d("CREATION"," Request.no:" + request.requestNo +" Request Purpose:" + request.requestPurpose);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

让我知道出了什么问题?我尝试了很多次调试,但我确信我遗漏了一些东西。

addListenerForSingleValueEvent()立即执行
OnDataChange
方法,并在执行该方法后,一旦该方法停止侦听它所连接的引用位置,就会立即执行该方法

addListenerForSingleValueEvent在此位置为数据中的单个更改添加侦听器。此侦听器将使用该位置的数据值触发一次

您将需要使用
addValueEventListener()
,如何继续侦听它附加到的查询或数据库引用

addValueEventListener在此位置添加数据更改的侦听器。每次数据更改时,都会使用数据的不可变快照调用侦听器


确认:您的
请求
节点是否位于数据库的根节点,并且在您的示例中从未到达
onDataChange()
回调?从图像中,不清楚您的请求节点是根节点还是在某个其他节点下。。如果不是根,则必须使用child()函数指定该节点的完整路径chainRequest是根。无论如何,谢谢你,我终于解决了,太棒了!干杯:)