我正在创建一个移动应用程序,显示正在进行的足球比赛(业余比赛,而非专业)的得分。所以,我基本上做的是,我在Firebase实时数据库中创建一个足球游戏的数据,其中可能包含以下信息:
Team A: String
Team B: String
Score A: int
Score B: int
isLive: true/false
id: int
currentTime: ???
因此,当我在我的应用中按Score Update
时,它会更新分数,并将此更改应用到我应用中的ListView。
到目前为止,一切似乎都很清楚,但我在显示当前游戏时间方面遇到了麻烦。
我想做类似的工作:
这是来自我的动机的网络应用程序(http://livescore.com)。游戏开始时,游戏时间从1分钟到90分钟显示,如图所示,并在结束时转入FT
。
我的问题是,
是否可以像Firebase数据库中的自动递增计时器一样,或者是否可以使其工作,就像它每1分钟增加1到其值一直到某一点?
任何建议都会受到赞赏。
答案 0 :(得分:2)
使用Firebase实时数据库无法实现您的目标,因为它不提供类似的功能。要解决此问题,您需要创建一个自己制定的自定义计划机制,为您提供该行为。
所以不幸的是,在这种情况下,你没有摆脱编码。
答案 1 :(得分:0)
//fetch test time in minutes
//and convert that into milli seconds
mTimerRef = FirebaseDatabase.getInstance().getReference("eTest").child(key).child("TestMinutes");
mTimerRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
long millisecs = (Integer.parseInt(dataSnapshot.getValue(String.class))) * 6000;
mTimeLeftInMillis = millisecs;
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException();
}
});
在firebase中添加分钟,并使用此功能读取该分钟并转换为毫秒数。 希望有帮助。
答案 2 :(得分:0)
最有可能的是,您需要另一个始终工作并更新 FireBase 中的全球时间的客户端,并且您可以根据全球时间进行计算