[英]Implementing a Firebase server-side countdown timer for Android?
有没有办法在Android Studio中实现Firebase服务器端倒计时器?
我希望计时器是服务器端,这意味着每当用户打开我的应用程序时,计数器将始终同时为所有用户。
我读了这个问题的答案,但是他们已经2年多了,Firebase也发生了很大变化。 它于2014年10月被Google收购,并且2016年5月在Google I / O上展示了大量新功能。
如果Firebase无法提供该功能,是否还有另一个可以提供服务器端倒计时的平台?
创建一个服务器端计时器,用于更新实时数据库中的值。
Firebase ref = new Firebase('/firebase/database/url/time');
new AnimationTimer(){
start(){...}
stop(){...}
handle(){...ref.addValue(time);}
};
这将每毫秒更新您的实时数据库。 要在您的应用程序中查看它,只需调用它。
Firebase ref = new Firebase('/firebase/database/url/time/value')
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot ds) {
Platform.runLater(() -> {
label.setText(ds.getValue() + "");
});
}
@Override
public void onCancelled(FirebaseError fe) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
});
它将在几毫秒内实时更新您的应用程序。 我能够用Java运行它
我没有更好的倒计时想法只在客户端计算。
如果你这样做会发生什么:
srvTime
变量) 为“倒计时”计时器创建新记录:
srvTime
Time in ms when countdown ended
(5分钟= 60000 * 5) 你可以在客户端计算。
或者为ServerValue.TIMESTAMP
创建一个监听ServerValue.TIMESTAMP
ref.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println(dataSnapshot.getValue());
}
public void onCancelled(DatabaseError databaseError) { }
});
ref.setValue(ServerValue.TIMESTAMP);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.