【发布时间】:2017-07-16 05:23:28
【问题描述】:
我正在尝试制作一个员工考勤应用程序,用户(员工)可以在他们来到办公室时打卡。他们打卡的详细信息将被发送到服务器。主要集中在时间上。
我也在尝试实现离线功能。 (如果应用没有检测到互联网连接,则打卡记录将存储在本地数据库(SQLite)中,一旦检测到,将记录从数据库推送(并清除)到服务器。
我尝试使用 GregorianCalendar 类捕获时间,但时间值似乎容易受到用户操作的影响。 (特别是场景 A)
场景 A
用户可以关闭互联网连接,关闭自动数据和时间,手动设置时间,然后打开应用打卡。
示例: X 先生早上 8.45 到办公室,打开飞行模式,手动设置设备时间(比如早上 8.30),然后打卡。他设置的时间值被输入到数据库中,而不是他进入的实际时间。
如何防止这种情况发生?
场景 B
用户可以手动编辑本地数据库值(根电话)。 [我知道这是不可避免的,但有什么建议可以让他更努力吗?]
【问题讨论】:
标签: android sqlite android-studio