Android Firebase OnDataChange 未被触发

Android Firebase OnDataChange not getting triggered

所以我正在尝试创建一个侦听器,当一个新条目添加到我在 Firebase 中的数据库时,它将通告 activity,如下所示:

public void dataListener() {
    Query lastQuery = mDatabase.child("id").orderByKey().limitToLast(1);
    lastQuery.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Log.d("ChildAdded",dataSnapshot.getChildren().toString());
            getAddedUpdates(dataSnapshot);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.d("ChildError",databaseError.toString());
        }
    });

我正在调用这个 dataListeneronCreate 但没有任何反应,我的意思是,当我在另一个 phone 上添加一个新条目时,即使认为数据是正在插入(当我在另一种方法中使用 singleEeventListener 重新加载应用程序时,接收到数据)

所有字段都是文本(字符串)

位置有误,需要修改:

Query lastQuery = mDatabase.child("id").orderByKey().limitToLast(1);

进入这个:

 DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
 Query lastQuery=ref.orderByKey().limitToLast(1);

快照位于根节点,然后您将能够订购密钥并检索最后一个。

child("id")下面没有key,例如:

id
 pushid
   name: peter

child'("id")等于一个randomid那么你可以这样做:

Query lastQuery=ref.orderByChild("id").equalTo(key_here)