Android的手机定位考勤APP的应用程序开发

目 录
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 课题来源 2
2 关键问题的研究 2
2.1 关键问题 2
2.2 关键技术 3
3 系统概要设计 5
3.1 业务流程 5
3.2 系统架构 5
3.3 系统功能 5
4 系统详细设计 7
4.1 公众基础方法类 8
4.2 Android前端页面设计 10
4.2 登录模块 11
4.3 查询历史记录模块 15
4.4 考勤模块 18
4.5 数据库设计 24
5 系统测试与运行 26
5.1 系统功能测试 26
5.2 系统数据分析 28
总 结 30
致 谢 31
参 考 文 献 32
附录A 用户操作手册 34
1 引言
1.1 课题背景
随着移动互联网的发展,智能手机核心开发技术日趋成熟。智能手机的使用量已突破十亿。2016年1月到4月智能手机同比增长10.8%[1]。Android手机市场占有率最高,拥有丰富的内置活动(Android系统服务),包括电子邮件、网络浏览器和地图应用程序[2],为应用程序的开发提供了良好的平台。
目前高校基于Android的手机定位考勤APP已经发展得比较完善,现有的考勤系统大多由教师手机客户端模块。学生手机客户端模块和后台服务器模块组成。已经可以实现考勤、查询历史记录、修改考勤记录等功能[3]。 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
r /> 1.2 国内外研究现状
1.2.1 国内研究现状
目前高校采用的考勤管理方式大多是人工考勤,除了纸质考勤和本文所述的手机定位考勤外,常用的考勤方式还有以下几种:
电子考勤:大多出现在办公系统,通过公司或学校搭建局域网,用户登录考勤系统,系统会记录签到的时间[4]。
指纹识别考勤:指纹识别技术使用需要准确知道用者身份的场合,在指纹识别机上按下指纹即可完成考勤任务。现在有两种指纹识别系统:联机型产品和脱机型产品,后者由于其使用方便得到广泛使用[5-7] 。目前已经实现单机完成考勤的全部过程,包括指纹识别,比对,时间管理,考勤记录由无线通信模块直接上传到处理机端[8]。
人脸识别考勤:最早可追溯到十九世纪八十年代,高尔顿发表了一篇人脸识别身份认证方法 [9]。后由于计算机网络快速进步,图像采集方法完善,人脸识别研究有了很大进步,人脸识别的考勤方式也渐渐地被探索和完善。该技术利用人的生物特征完成考勤任务。目前已经做到结合人脸检测、人眼定位、人脸特征提取和分类算法的基于人脸的智能定位考勤系统 [10,11]。
1.2.2 国外研究现状
国外中小学普遍实施考勤管理,然而高等院校内,考勤管理仍存在争议。马来西亚国家能源大学就是一所实施考勤管理的高校,学生考勤率达到80%才能参加期末考试 [12] 。相对于国内,国外考勤发展地更加智能化。欧美、日本一些发达国家在考勤领域更多的专注于门禁类的考勤业务 [13]。还有的考勤系统基于Web的体系结构,涉及各种开源网络技术,使在线考勤系统更有效率和成本效益[14,15]。以下是两种考勤管理系统:
使用秘密代码的自动考勤系统(SATS),秘密代码采用MD5哈希算法每天为学生生成唯一的秘密代码。SAT由桌面应用程序,网络应用程序和移动应用程序组成,三个模块互相通信,用户可在移动端输入秘密代码完成考勤 [16]。
射频识别(RFID)的考勤系统,可用在学校考勤或公司考勤。与传统方法相比,更快速更便捷,将身份证放在读卡器上即可考勤成功[17,18]。在标记中使用唯一的号码作为一个对象的身份或作为跟踪设备[19]。
1.3 课题来源
本课题来源于考勤系统的应用需求,针对传统的考勤系统存在的弊端,目的是开发一种基于Android的手机定位考勤APP,实现了移动APP早操和/或晚考勤以及查询历史记录的功能。较传统考勤方便快捷,满足学校管理部门对学生在校出勤状况进行快速真实考核的需求。
2 关键问题的研究
Android手机拥有丰富的内置活动(安卓系统服务),包括电子邮件、网络浏览器和地图应用程序,为应用程序的开发提供了良好的平台[20]。基于Android的手机定位考勤APP的应用程序开发面临着以下的问题:
2.1 关键问题
获取地理位置:
考虑室内室外两种考勤情况,室内常采用Wi-Fi考勤,室外常采用GPS考勤。Wi-Fi定位应用在室内坏境的优点如下:广泛地覆盖,覆盖范围可达五十米到一百米;不受墙壁等障碍物的影响;扩展方便等[21-23]。
网络通信:
手机客户端要和服务器端实现数据交互,手机客户端将用户的学号和经纬度信息上传给服务器,服务器接收数据,判 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
断是否考勤成功将结果反馈给客户端,以及查询考勤记录等功能都需要解决网络通信的问题[24]。
系统界面设计:
Activity为Android应用提供了可视化用户界面,登录功能界面、考勤功能界面、查询历史记录界面都是本系统需要研究的重要问题。
2.2 关键技术
对于上文的关键问题,下文叙述了解决方法以及关键技术。
2.2.1 获取地理位置
卫星技术是通过卫星分析移动物体的经纬度,对其进行定位。主要是指GPS技术。基于网络的定位技术通过网络接入点等基础设施,计算出和移动终端的位置,主要是GSM和CDMA。GPS和GSM、CDMA的结合将会成为获取位置信息研究的新热点[25]。
本设计在考勤定位时采用了两种获取地理位置的方法基于GPS的定位和基于Wi-Fi的定位:
a) GPS依靠内置的GPS模块搜索来自卫星的定位数据,获取当前位置的经纬度,随着GPS技术的发展,基于位置的数据成快速地发展[26]。本系统使用百度地图的服务,将用户名和获取到的经纬度信息上传给服务器,服务器判断是否考勤成功将结果返回给客户端。
b) 基于Wi-Fi的定位主要是应用在晚间宿舍签到。每一个无线AP都有一个全球唯一的MAC地址,在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号。将用户名和扫描到的MAC地址发送给服务器端,服务器端判断是否考勤成功,将考勤结果返回给客户端。
2.2.2 网络通信
在研究安卓应用的时候,将会涉及到网络通信的问题[27],即服务器和客户端之间传输数据的问题,现在主要由HTTP协议实现[28],目前最新的是Volley网络通信架构,其包含三个部分:底层网络通信部分、网络请求的管理层和底层网络通信实现的工具类[29]。
谷歌2013提出的Volley框架,具有使用方便和网络要求更快的优点,但它不支持网络服务。Volley包括了HTTP应用程序API,主要由请求队列的代理类,请求队列类、网络接口、网络接口和实现类,HTTP请求接口的HTTP请求实现类。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2237.html

好棒文