2016-05-27 1 views
0

ich eine Datenbank erstellt haben meine Protokolle zu speichern und Echtzeit-Aktualisierung meiner Log-Einträge für die letzte 1 StundeWie Echtzeit Zuhörer hinzufügen Abfrage Firebase

Ich habe eine Echt versucht zu bekommen Hinzufügen Zeit-Listener zu meiner Firebase-Abfrage. Beide Versuch ausgelöst einmal (beim Anlauf), aber auslösen nicht, wenn ein neues Protokoll hinzugefügt wurde, während die App bereits

laufen

Hier ist mein Code

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

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

Hier ist die Abfrage

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

ich habe versucht (Versuch # 1)

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

auch (Versuch # 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) {} 
    }); 

Antwort

0

Es gefunden. Ich hätte stattdessen

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

stattdessen verwenden sollen.