2015-04-09 3 views
5

vorrei per impostare la priorità di un bambino con il timestamp del server fornito da Firebase, ServerValue.TIMESTAMP:Voglio impostare una priorità calcolato utilizzando il timestamp del server fornito da Firebase

mFirebaseref.child(userid).setPriority(ServerValue.TIMESTAMP); 

Ma il mio caso è inverso . Voglio impostare il valore negativo ServerValue.TIMESTAMP per spostare mio figlio in cima in base al tempo. È possibile farlo in Firebase senza utilizzare il timestamp locale System.CurrentTimeInMillis()?

vorrei fare qualcosa di simile:

mFirebaseref.child(userid).setPriority(-ServerValue.TIMESTAMP); 

risposta

3

Sul lato client, ServerValue.TIMESTAMP è un oggetto strutturato in questo modo: {.sv: "timestamp"}

Quindi, come si sa, non si può facilmente fare cosa volevi. Tuttavia, potrebbe esserci una soluzione diversa. Se, per esempio, si voleva le cinque voci più recenti, si potrebbe ancora impostare la priorità per ServerValue.TIMESTAMP:

mFirebaseref.child(userid).setPriority(ServerValue.TIMESTAMP); 

E quindi utilizzare il metodo limitToLast():

Query queryRef = mFirebaseref.limitToLast(5); 

per ottenere il cinque voci più recenti .

Inoltre, questo può aiutare: Display posts in descending posted order

3

Si sono fondamentalmente chiedendo come ottenere il timestamp del server negativo e dovrebbe funzionare offline. Ho trovato un modo, c'è un campo nascosto che puoi usare. Un frammento di documentazione:

Firebase offsetRef = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com/.info/serverTimeOffset"); 
offsetRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot snapshot) { 
    double offset = snapshot.getValue(Double.class); 
    double estimatedServerTimeMs = System.currentTimeMillis() + offset; 
    } 

    @Override 
    public void onCancelled(FirebaseError error) { 
    System.err.println("Listener was cancelled"); 
    } 
}); 
+0

Link (legacy) la documentazione nel caso qualcuno lo trova utile: https://www.firebase.com/docs/web/guide/offline-capabilities.html#section-latency – xsorifc28