【毕设】基于Android的实验室签到系统设计 - 问题一 - 系统时间不一致问题

问题来源

代码不变,使用相同磁卡签到时发现签到不成功,弹出提示:卡号错误,未查询到授权或者未刷卡,请重新刷卡

问题分析

  • 首先看数据库中是否存在正确授权信息,发现没有问题
  • 再看读卡器读出卡号有没有问题,发现没有问题
  • 最后看从数据库拿出授权信息和卡号进行比对的代码,锁定在new Date().getTime()代码上

问题根源

  • new Date().getTime()是获得系统时间的代码
  • 在模拟器上运行时,和与安卓机连接时,得到的系统时间是不一样的
  • 模拟器得到的是13位,单位为毫秒,没有问题,因为和电脑一致,电脑又是网络时间,所以没有问题。
  • 而安卓机发现时间和网络时间相差较大,因此需要设定安卓机的系统时间

解决问题

  • 翻阅安卓机使用手册,可以设置里设定日期和时间,而且断电之后时间仍可同步更新(确保板子上已经安装了纽扣电池)。
  • 注意取消勾选”自动确定日期和时间“以及“自动确定时区”两部分的勾选。
  • 安卓机是利用RTC进行同步时间的,所以要保证RTC一直在运行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值