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)
所以我正在尝试创建一个侦听器,当一个新条目添加到我在 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)