在android中是否有一个功能,使用户只能在指定的时间间隔登录?



我正在做考勤应用程序,这是我大学项目的一部分。我想包括一个功能,这样的用户可以登录仅在特定的时间段。从上午9点半到9点40分。之后,登录应该被禁用40分钟,并在接下来的10分钟内启用。这个过程应该每天重复8次,即;从早上9:30到晚上4:10。函数应该在每个新的一天重置。

我使用firebase作为我项目的后端。

我尝试在登录屏幕期间设置计时器,但没有成功。我期待登录按钮应该是有效的只有10分钟,并被禁用另一个40分钟。这个循环应该每天重复8次,从android的指定时间开始,比如早上9:30。我是新的android开发,我不知道如何从这里开始。我需要如何实现这个功能的指导。

首先,Android Studio是一个IDE——一个花哨的文本编辑器。它没有任何功能。你甚至不需要它来编写Android程序。所以我假设你想问Android操作系统是否有内置的东西。

答案是否定的——Android操作系统不做应用程序登录,所以它没有能力控制何时可能发生。你需要自己写。在一个真正的应用程序中,你会让你的服务器这样做,要么不允许在那个时间之外登录,或者更可能只是不允许在那个时间之外编辑数据(但仍然允许查看数据)。这真的不应该在客户端完成,因为有人可以通过改变手机上的时间来破坏你的应用。在服务器上这样做意味着你有一个权威和可信的时间来源。

如果你被迫进入firebase(对于一个需要阻止用户做事情的应用程序,我真的不建议这样做),那么你需要在向其写入任何数据之前添加时间检查。对于实际的生产应用程序来说,这不是一个好的基础设施选择,但对于一个学校项目来说,这已经足够好了。我的建议是编写一个类DatabaseManager来封装您的firebase信息,并提供一个API来读取和设置数据。这一层可以包括写入数据库时的检查。然后在应用的其余部分,使用那个对象,而不是直接访问firebase。无论如何,这是一个最佳实践——总是对应用程序的其余部分隐藏你的db的实现,你永远不知道它什么时候会改变。

最新更新