为 Android 实施 Firebase 服务器端倒数计时器?

Implementing a Firebase server-side countdown timer for Android?

有没有办法在 Android Studio 中实现 Firebase 服务器端倒数计时器?

我希望计时器在服务器端,这意味着每当用户打开我的应用程序时,所有用户的计数器将始终在同一时间。

我阅读了 this 问题的答案,但它们已有 2 年多的历史,自那以后 Firebase 发生了很大变化。它于 2014 年 10 月被 Google 收购,并于 2016 年 5 月在 Google I/O.

上推出了大量新功能

如果 Firebase 无法提供该功能,是否有其他平台可以提供服务器端倒计时?

我没有更好的主意只在客户端计算倒计时。

如果你这样做会发生什么:

  1. 获取时间戳中的服务器时间(添加到 srvTime 变量)

为 "countdown" 计时器创建新记录:

  1. 开始时间:srvTime
  2. 结束时间:Time in ms when countdown ended 例如(5min = 60000*5)

并且可以在客户端进行计算。

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);

创建一个服务器端定时器来更新实时数据库中的值。

Firebase ref = new Firebase('/firebase/database/url/time');
    new AnimationTimer(){
        start(){...}
        stop(){...}
        handle(){...ref.addValue(time);}
        };

这将每毫秒更新您的 real-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.
        }

    });

它将在 real-time 后在您的应用程序上以毫秒为单位更新。我能够在 Java

中得到这个 运行