我正在开发一个使用firebase数据库(实时)和google maps的用于出租自行车的android应用程序。
现在,我想添加一个CountUp计时器(HH:mm:ss格式),该计时器可跟踪服务器中的乘车时间。
为什么要这样做?
因为一旦骑行成功预订,骑行时间将由客户开始,但是当自行车归还时,骑行时间只能由其应用程序中管理骑行台的人员来结束。 (以确保周期已安全返回)
如何在Firebase中实现此计时器?
直到现在,我仅在使用广播接收器在后台跟踪时间的客户端实现一个CountUp Timer。
解决此问题的一种方法可能是,客户结束行程(仅当客户位于自行车架20米附近时),并将同一时间存储到Firebase中,并由自行车架管理人员对其进行访问
但是这种方法有一些缺点:
如果一个人从户外看台结束旅程并在一小时后返回,怎么办?计算的时间将是错误的,并且还会妨碍下一个用户的可用性状态。
{{1}}
答案 0 :(得分:2)
每辆自行车必须具有id
,因此在该id
下:
将userStartTime
存储在Firebase中
将userEndTime
存储在Firebase中,然后让管理器存储cycleStandEndTime
。
然后,您将所有数据保存在firebase的3个字段中,并且可以进行所需的任何计算。
totalUserUseTime = userEndTime - userStartTime
totalBikeRentalTime = cycleStandEndTime - userStartTime