如何向firebase查询添加实时监听器

时间:2016-05-27 03:17:36

标签: android firebase firebase-realtime-database

我创建了一个数据库来存储我的日志,并在过去1小时内实时更新我的​​日志条目

我尝试在firebase查询中添加一个实时监听器。两次尝试都触发一次(启动时),但在应用程序运行时添加新日志时没有触发

这是我的代码

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("logs");

long MillisInHour = 60*60*1000;//one hour

这是查询

Query query = myRef.orderByChild("timeStamp").startAt(System.currentTimeMillis()).endAt(System.currentTimeMillis() - MillisInHour);

我尝试过(尝试#1)

query.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {}
    @Override
    public void onCancelled(DatabaseError databaseError) {}
});

另外(尝试#2)

query.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {}
    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {}
    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {}
    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {}
    @Override
    public void onCancelled(DatabaseError databaseError) {}
    });

1 个答案:

答案 0 :(得分:0)

找到它。我应该用

Query query = myRef.orderByChild("timeStamp").startAt(System.currentTimeMillis() - MillisInHour)

代替。