2015-04-09 1 views
5

Я хотел бы установить приоритет ребенка с помощью временного сервера штампа предоставленного Firebase, ServerValue.TIMESTAMP:Я хочу установить вычисляемый приоритет с помощью штампа времени сервера, предоставляемого Firebase

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

Но мой случай обратный , Я хочу установить отрицательный ServerValue.TIMESTAMP, чтобы переместить моего ребенка в начало по времени. Возможно ли это сделать в Firebase без использования местной метки времени System.CurrentTimeInMillis()?

Я хотел бы сделать что-то вроде этого:

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

ответ

3

На стороне клиента, ServerValue.TIMESTAMP является объектом структурирована следующим образом: {.sv: "timestamp"}

Так что, как вы знаете, вы не можете легко сделать что вы хотели. Однако может быть и другое решение. Если, например, вы хотите пять последних записей, можно еще установить приоритет ServerValue.TIMESTAMP:

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

И затем использовать limitToLast() метод:

Query queryRef = mFirebaseref.limitToLast(5); 

Чтобы получить пять последних записей ,

Кроме того, это может помочь: Display posts in descending posted order

3

Вы, в основном спрашивают, как получить отрицательную метку времени сервера, и он должен работать в автономном режиме. Я нашел способ, есть скрытое поле, которое вы можете использовать. Фрагмент из документации:

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

Ссылка на (наследство) документации в случае, если кто считает полезным: https://www.firebase.com/docs/web/guide/offline-capabilities.html#section-latency – xsorifc28

Смежные вопросы