我想模仿以下内容,从我的Firebase侦听器中排除初始数据,但是用Java进行。
var ref = new Firebase('https://<your instance>.firebaseio.com/messages');
var queryRef = ref.orderBy('created').startAt(Firebase.ServerValue.TIMESTAMP);
queryRef.on('child_added', function(snap) {
console.log(snap.val());
});
似乎不是.startAt()的签名,它将ServerValue.TIMESTAMP(Java SDK中的Map)作为参数。这个查询(使用Firebase服务器时间戳)在Java中是不可能的吗?
答案 0 :(得分:3)
API doc says startAt()
可以String
,String, String
,boolean
,boolean, String
,double
或{{1} }}。所以不行。您无法传递包含TIMESTAMP的double, String
。
Map
现在您可以在查询中使用它:
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);
}
@Override
public void onCancelled(FirebaseError error) {
System.err.println("Listener was cancelled");
}
});