版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1绪论
1.1研究背景
据调查,目前我国的大多数高校,仍采用传统的手工作业或者半手工作业方式来进
行学生参会打卡的管理。在移动互联网快速发展的今天。信息化建设已成为必然,高校
建设已将数字化校园建设放在建设的首要位置。如何对学生学习活动全过程的动态监控,
成为校园管理中需要解决的重要问题,而打卡系统也成为了必不可缺少的一部分⑴。参
会打卡系统设计目的主要是用来解决当前人工打卡管理过程中有效信息混乱、效率较低、
数据不利于统计的现状问题不利于高校对学生管理,基于当前智能手机普遍应用的现状,
将Android作为开发平台,具有较高的适用性、使用方便,具有很高的研究价值⑵。
1.2发展现状分析
近年来,越来越多的高校注重提高学生综合素质,在学校开展各项各类座谈会。但
是因为学生个人的原因以及开会学生基数庞大且传统打卡方式效率低或者设备缺少的
情况造成打卡秩序的混乱以及打卡信息不具有一定程度的真实性。而其中有相当一部分
会议安排在教学时段,学生不进行打卡参会又具有极大的安全隐患。教师在学生考勤打
卡时仍然采取点名、手工记载等方式,费时费力且容易代答代签。而对于指纹识别、人
脸头像识别等新型技术,由于设备比较昂贵、实施成本高,不适合大规模推广。并且现
有的手工方式和图像识别系统都有明显的不足,那就是信息滞后,这几类都无法在第一
时间获取实时信息⑶。鉴于当前的高校参会打卡系统比较低效,以及移动终端的普及和
Android技术的成熟,想开发一款基于移动终端的低成本学生参会打卡系统。以提高高
校学生参会打卡的效率和准确率,降低打卡过程中对人的依赖性,提高打卡信息实时性,
在智慧校园建设中,本系统探索了一种新方式和新的技术路线,为高校教学和学生日常
管理提供了有力的帮助"L在另一方面Android平台也有较为良好的系统肉眼,移动平
台设计者发布了旨在优化应用程序的具体指南和工具⑸所以基于Android系统无疑是
提高用户使用体验的最好办法。
云服务器又称云主机,它的出现主要面向各个企业用户与对网络数据管理有需求的
用户提供基于互联网的设施服务。随着云计算科技的发展网络各家大型企业都推出了自
己的云计算服务。当然云服务器就属于其中之一。因为云服务器用户群体庞大并且对用
户对云主机应用的需求日益增加,云服务器的大量租用使得越来越多高品质的网页和产
品呈现的我们眼前,当然用云服务器做后台的软件也是数不胜数。
1.3选题的意义
学生在参会时会打卡签到,效率低下的打卡方式造成打卡时人流拥挤。并且大多数
同学因为自觉性不强和学校会议打卡考勤监管不力的原因造成许多代签或者浑水摸鱼
等情况。使得打卡秩序混乱至极。因此提高打卡效率;检测和数据汇总成为了难点设计
有效的参会打卡系统。对学生打卡信息进行统一化管理,此处列出几点明显的不足:
1.打卡工作量大,需要值守。
2.数据混乱难以管理。
3.监督不力浑水摸鱼情况多。
4.打卡费时费力且效率低。
实现学生参会打卡的便利性,成为了迫切之需。
本文主要是以提高学生参会打卡效率;签到打卡数据的真实性和时效性,减少或者
淘汰传统的会议考勤人员。减少管理人员整理或者发布会议信息的工作压力°方便领导
和辅导员能更好的对学生综合素质进行考察为目的。并且应用当下比较成熟的移动
Android系统和云服务器技术,设计出一款基于Android的学生参会打卡系统。使学生
参会打卡变得更加高效化智能化。
1.4本论文的结构安排
第一章绪论,介绍了学生参会打卡系统发展历程和本课题研究意义。
第二章需求分析,详细解析了学生参会打卡系统需求,并简绍木系统关键技术。
第三章系统总体设计,简单描述了本系统的基本架构和各个模块的功能。
第四章系统的实现,展现了整个系统前端Android和后台云服务器的主要功能实
现以及对应的功能代码的图文解析。
第五章系统的测试,介绍了测试的主要功能节点以及具体的测试方法。
第六章总结与展望,对基于Android的学生参会打卡系统的设计•、实现和完成概
况进行总结,分析当前系统有哪些不完善需要改进或者进一步研究的地方。并对未来技
术的展望。
2
2学生参会打卡系统需求分析和实现工具
2学生参会打卡系统需求和实现工具
2.1功能需求分析
方案设计是对传统半手工和全手工参会打卡系统的不足进行优化改良的结果。在本
设计设计之初对传统参会打卡方式进行了研究。发现了存在硬件设备少考勤人员但参会
人员多等诸多问题。本文是针对高校参会打卡系统的智能化方便化的改良设计,同时对
高校于基于Android的参会打卡系统进行了需求分析,得出一个较为完善的设计方案。
2.1.1学生参会打卡流程分析
传统参会打卡系统分为全手工和半手工两种详见图2.1,这是对传统参会打卡系统
的一个简单的总结。全手工的方式采用部署考勤人员纸质签到打卡。这是最原始也是对
资源浪费最大的方式。而半手工方式是基于校园卡-打卡机的方式最终数据汇息用Web
进行查看管理,通过网络极大提高了签到效率,但因为打卡机数量有限参会学生多所以
依然会存在打卡时排长队的现象。所以本文提出更加方便的基于Android的参会打卡系
统。以下分为打卡过程和数据处理过程分析。
半手工
全手工
图2.1参会打卡系统流程图
1.打卡过程
打卡过程是学生参加会议时,使用已经安装并且注册登陆好的参会打卡系统appo
领导及辅导员可自行决定在会议进行的任意时间在会议室通过会议PPt或张贴的方式
发布含有会议信息的二维玛供学生扫描。扫描成功后学生在会议室点击定位按钮获取实
时位置信息,获取成功后方可点击签到按钮,手机将发送签到信息到云服务器°App会
提示服务器的反馈信息。具体过程由图2.2所示。
3
2学生参会打卡系统需求分析和实现工具
XGPS
敢
4室
K
_
_
会_
议_
发_
布_
含有会议信息的二维码
图2.2打卡过程流程图
2.出库过程
云服务器在接受Android前端发来的数据后,立刻开始将数据中的信息与服务器数
据库里的信息进行比对。首先是扫描二维码的会议信息通过和记录会议信息以及地点的
数据库里的数据进行对比,确认会议信息是否真实有效。将定位信息即实时精确的经纬
度和记录会议室经纬度的数据库数据进行对比。如果两次对比数据均真实有效则打卡成
功并将打卡信息新增至学生打卡信息数据库里。并向手机端返回打卡签到成功的信息。
反之信息比对不成功则直接返向打卡失败的信息。这就是数据处理流程详见图2.3.o
4
2学生参会打卡系统需求分析和实现工具
2.1.2用户角色需求分析
通过对参会打卡流程分析后,基于Android的学生打卡系统的主要人员分配如下图
图2.4所示。
参会学生
图2.4参会打卡系统角色需求
1.参会学生
参会学生时本文基于Android的学生参会打卡系统的主要服务对象。参会学生的
主要任务是安装app后注册填入自己的学生信息即学号等。然后参加会议时在扫描由
老师提供的含有会议信息的二维码.在正确的会议室即开会地点成功获取实时的经纬
度。在一切操作都完成后点击签到按钮上传签到信息。然后查看返回的签到结果。详
见下图2.5所示。
图2.5参会学生权限图
5
2学生参会打卡系统需求分析和实现T具
2.管理人员
管理人员主要负责三个数据库信息的管理。如学校即将举办新的会议那么就要将
会议名称和会议地点正确导入记录会议信息的数据库中。如果学校要新增会议室即开
会场地将要将新的会议地点以及会议地点精确的经纬度数值正确填入记录会议室信息
的数据库中。原则上管理人员对学生打卡信息数据库的数据可以不做管理。但是必要
情况下还是可以进行修改等操作,并且管理人员要对整个云服务器进行维护等,管理
人员权限图如图2.6所示°
图2.6管理人员权限图
3.领导及辅导员
在领导视察学生参会情况和辅导员对学生综合素质进行考评时往往需要学生综合
素质的考评。那么学生的参会信息就显得比较重要了,在传统的半手工参会打卡系统中
通过Web查看数据库信息已经相对成熟。那么这里就不会进行更改在网页里领导及辅导
员能更直观的查看学生的参会信息。并且在会议时领导及辅导员还充当着发布会议信息
二维码的重要职务。详见图2.7
臧
疆员
图2.7领导及辅导员权限图
6
2学生参会打卡系统需求分析和实现工具
2.1.3系统功能需求分析
通过之前对传统参会打卡方式的分析和基于Android的学生参会打卡系统的打卡
流程和数据处理流程的简单介绍。总结出基于Android的学生参会打卡系统的功能需
求的明确概念。
首先此系统分为两个部分完成。前端的Android与后端的云服务器。信息采集由
手机Android完成而数据处理则由云服务器完成。通过网络传输信息能对打卡信息进
行便捷的管理与修改°验证打卡地点同时也大幅度提高了数据的真实性°本文的设计
对于参会打卡系统的效率有了极大的提高。具体功能需求详见图2.8o
图2.8学生参会打卡系统功能需求图
2.2关键技术
2.2.1Android简介
众所周知Android系统是基于Linux的操作系统并且因为它的开源开放受到大多
数用户的喜爱。最开始Android主要使用于移动设备,但是随着技术的快速发展一些
新的基于Android的智能设备也出现在我们的眼前,如智能手表;平板电脑;智能电
视;机顶盒等。起初由Google公司和开放手机联盟领导到如今越来越多开发者的投
入,Android系统应用开发前景极为可观。
Android开发由四大组件构成它们分别是:用于表现功能的Activity(活动);只
7
2学生参会打卡系统需求分析和实现工具
在后台运行提供前台支持的Service(服务);用于接受广播的BroadcaslReceiver(广
播接收者)以及最后的支持在应用中存储读取应用数据的ContentProvider(内容提供
者)。
采用由分层架构组建的Android系统,从最高层到最低层被分为四个部分,它们
分别为:Linux内核、系统运行库层、应用程序框架层、应用程序层。图2.9能直观展
示Android体系的具体结构。下面是对这几层的简单介绍。
APPLICATIONS
HomeContactsPhoneBrowser...
APPUICATIONFRAMEWORK
AaivityManage?一罂索■濡懦器n
Manner曾"温含感翳XMPPService
LIBRARIESANDROIDRUNTIME
SurfaceManagerMediaSQLitcCoreLibrarie$
Framework
v
OpenGL|ESFreeTypeVWbKit""肉疣隔L
Machine
SGLSSL!ibc
LINUXKERNEL
翻Sera*噂朝,.嚼炉
USBDriverKeypadDriverWifiDriver-M.n^ent
图2.9Android体系结构
1.应用程序层(Application)
应用程序层是最高层也是普通用户平时所接触的一层,它是核心应用程序的一个
集合(如日历;闹钟;联系人等),在我们日常使用中下载安装的各式各样的软件和游
戏(如QQ;微信;网易云音乐等)同样也是属于这一层。这些应用都是由Java语言编
写。
2.应用程序框架层(ApplicationFramework)
在这一层应用程序框架层主要是向开发人员提供了访问或自行开发程序时需要的
各式API。任何应用程序都能在这一层发布自己的功能块同时也可以调用其他应用程序
的功能块。但是一切的前提都是必须遵循框架的安全性。所以我们可以归纳得出每一
个应用程序后都有一系列的服务(APl)o那么这些API主要有:视图(Views);通知
管理器(NotificationManager);活动管理器(ActivityManager);内容提供器
(CoriLenlProviders);资源管理器(ResourceManager)等,这些API促使使用者有
8
2学生参会打卡系统需求分析和实现工具
了更好的使用体验。
3.系统运行库(Libraries)
系统运行库也被称为核心类库是由C/C++库来提供支持的。通过上一层也就是应用
程序框架层为Android开发者提供服务。比如3D绘图支持是由OpenGL/ES库来提供服
务;Web浏览器引擎是由LibWebCore库来提供支持等。
Android运行时库允许开发人员用Java语言编写应用程序。除此之外在手机内存
以及CPU优化方面由库里的Dalvik虚拟机进行优化支持°
4.Linux内核(LinuxKernel)
Android系统是运行在LinuxKernel之上的,由Linux为Android提供各种硬件
服务的底层驱动(如GPS服务;蓝牙服务;电源管理;视屏显示等)。
相对完全封闭的I0S系统开源开放的Android系统的编写和应用肯定更加适合本
系统的设计实验开发。在如今Android系统使用者占据绝大数移动设备使用者的今
天,基于Android的学生参会打卡系统更加有研究价值。
2.2.2AndroidStudio简介
系统的前端Android应用程序是使用AndroidStudio来完成的。曾有很长一段时
间AndroidStudio被称为当下最为完美的Android编程软件,这句话印证了它功能的
强大。AndroidStudio是由谷歌公司推出的一款完全免费的Android集成开发工具。它
是在TnlelliJIDEA基础上改编而来,前者因为费用高昂的原因让无数草根开发人员望
而却步,AndroidStudio的出现也推动了一大波Android开发热潮。
AndroidStudio集成了开发Android应用时所需要的工具,但是AndroidStudio
的运行需要Java环境的支持。所以使用AndroidStudio前首先应该安装至少版本为
1.7以上的JDK以及2G以上的内存。
AndroidStudio具有几个比较明显的特点:
1.在我们使用AndroidStudio编写应用程序时更加方便灵活这是因为Android
Studio是基于grad1c的构建项目支持。
2.AndroidStudio具;(1■专属的重构和快速修复的方法,通过变量配置来适应不同
版本的apk文件。AndroidStudio还能支持ProGuard和应用签名。
3.AndroidSludio内置了提示工具(linktools代码优化工具)用于捕获性能、
可用性、版本兼容性等问题,为新手开发人员省去查找问题的时间。
4..因为AndroidStudio拥有大量的代码模块所以在模板向导来生成常用的
Android应用组件和设计模块就变得快捷高效。
5.可拖拽的布局UI编辑器省去了每一次需要用代码调节布局的时间。为项目的开
发提供了极大的帮助。
9
2学生参会打卡系统需求分析和实现工具
所以本文基于Android的学生参会打卡系统的前端就是使用AndroidStudio来编
写的,作为一个还在校就读的大学生AndroidStudio无疑是最好的选择。
2.2.3阿里云轻量应用服务器简介
轻量应用服务器是由阿里云提供的一款新的云服务器产品。
阿里云是阿里巴巴集团与2009年创立的。全名为阿里云计算有限公司(Alibaba
CloudComputingCo.Ltd.)是全球领先的云计算科技公司。阿里云向社会提供了云服
务器出租服务。因为阿里云云服务器较业内最为稳定且为大学生提供了极为优惠的云服
务器出租业务。所以本文选择使用阿里云云服务器。
轻量应用服务器是面向对云计算只是入门级或者不了解的使用者提供的云服务器
应用部署;安全防控;域名管理;运行维护的一站式综合服务。使用轻量应用服务器的
用户可以在部署云服务器是选择阿里云提供的几款成型的精品镜像。这些镜像已经内置
了相应系统且提前安装了大多数项目运行的环境软件(如MySQL;wordpress等)。
木文所使用的是一个基于CentOS的系统镜像,此系统镜像还可以提供数据库和服
务器文件等管理的图形化界面。为项目的开发提供了极大的帮助。
2.2.4IntelIiJIDEA简介
本文基于Android的参会打卡系统的后端云服务涔的项目是在IDEA上完成的。
IDEA全称IntelliJIDEA,是java语言开发的集成环境,IntelliJ在业界被公
认为最好的java开发工具之一。IDEA被给予极高的评价的原因是因为它优秀的Debug
(调试)功能。它拥有CVS整合;代码分析;J2EE支持等功能。可以对Java;Javascript;
Ajax等技术进行调试。它的旗舰版本还可以对HTML;PHP等做支持,可谓是极为强大的
编程软件。
IDEA提倡智能编码,减轻开发人员的工作压力所以IDEA具有许多便捷功能如:丰
富的导航模式;智能的选取;对重构的优越支持;XML的完美支持;动态语法检测;对
JSP的完全支持;程序员意图支持等20多种优秀功能。
本文的云服务器后台程序由Java语言编写,在编写时IDEA提供了许多智能编辑和
错误提示为本文系统的云服务器后端开发提供了便利。
2.2.5MySQL简介
本文的学生参会打卡系统的云服务器数据是通过MySQL数据库技术来管理的。
MySQL数据库是当下应用最广泛的数据库系统,虽然MySQL数据库相较于其他专业
的大型数据库系统有许多不足之处(如因为体积太小不支持视图等),但是由于它是一
个开源软件且在个人使用者大量增加的今天,MySQL数据库也能提供满足绝大多数使用
者的服务。所以它成为了当下最受欢迎的数据库系统。
MySQL数据库是一种关系数据库管理系统,用多张表储存不同种类的数据,所以它
10
2学生参会打卡系统需求分析和实现工具
的反应速度和灵活性都相当的高。MySQL数据库虽然也有商业版但是它所提供的社区版
功能也基本齐全。所以基于体积小、成本低、速度快的特点。它成为了中小型网站、个
人网页、高校教学的首选,
MySQL数据库作为一个优秀的数据库系统的特点如下图2.10所示。
图2.10MySQL数据库特点
1.便捷性
MySQL数据库的使用操作是非常简单的,可以说是只要懂一点IT知识的人都可以无
师自通。并且现在Linux系统都会预装MySQL,在业内有一个很经典的集群一
LAMP(Linux、Apache、MySQL、PHP)所以MySQL使用是非常方便的。
2.开源
作为一个开源项目,MySQL旗下聚集了一大批技术爱好者或者从业者。大家提出问题
共同解决问题。因为免费所以大规模部署成为可能。
3.速度快
就如前文所述MySQL数据库利用多张表储存不同种类的数据,所以它的反应速度和
灵活性都相当的高。并且在社区版中MySQL开发者还去除了过剩的功能,精简了操
作流程。所以操作所需要的时间也是相当短。
4.可移植性
MySQL从3.23.15版本开始支持移植,这对任何一个数据库使用者带来的好处都是
无法估量的。我们能在任何一个常见的操作系统里使用MySQL数据库。也可以将数
据库文件从一台设备转移到另外一台甚至操作系统不同的设备里。譬如本文使用的
数据库文件就是由Windows创建转移到Linux系统里的。
5.引擎强大
MySQL数据库时插件式存储系统从而不同于其他数据库系统MySQL有许多的存储引
擎诸如ndb^mylsam、tokudb等。插件式的设计使MySQL支持更多的数据库的接入。
6.社区支持
据说monly(MySQL之父)在MySQL推出之初亲自写下30000封电子邮件帮助用户使
用MySQL,成为了一段佳话。但在MySQL的推广方面各个网络社区也是功不可没,随
便查找都能找到各种技术文档;疑难解答;架构方案等。我们能在国内外任何网络社
区(Google、Facebook、百度、阿里、腾讯)找到其他用户在使用MySQL时不断开拓
创作的新功能和工具。
11
重庆工程学院本科毕业设计3系统总体设计
3系统总体设计
3.1系统总体设计
本论文提出的学生参会打卡系统主要是为了解决现在传统打卡系统效率低的问题,
全手工的打卡方式过于老旧在此不做讨论,半手工基于校园卡-打卡机的打卡方式存在
硬件设备缺少的致命问题。并日日常打卡中对千代打代签等恶劣打卡操作也无法捽制J,
打卡信息的真实性较低且时效性不高。所以本文设计的系统是目前社会上使用最为广泛
的客户机-服务器模式,通过现在学生大量使用的Android手机作为打卡设备,加上一
定的位置判断功能可以在一定程度上改善目前参会打卡系统效率低下的现状。在这一章
本文将根据前文总结的系统的需求分为两个部分(客户机-服务器)分别展示系统的设
计。
3.2客户机Android端设计
学生参会打卡系统肯定需要获取学生和会议的信息.,再加上木系统采取了使用定
位判断打卡信息的真实性功能,信息采集尤为重要。所以本文的系统设计将信息的采
集放在了客户机Android前端上。同时信息整理完成后需要将其发送至服务器同时需
要一个发送信息的功能。客户机的主要功能详见图3.1。
图3.1客户机的主要功能
3.2.1用户信息
学生参会打卡系统是为了记录学生的打卡活动而设计的,那么云服务器信息的接
受和打卡信息的生成都需要登记学生的学号。所以在系统的Android应用里就必须要
有学生信息的采集功能。在出于信息安全方面我们将学生信息功能设计为登陆界面的
形式,在学生使用本系统的app时首先需要通过注册账号的环节因此学生信息采集功
12
重庆工程学院本科毕业设计3系统总体设计
能就变得十分简单,学生使用自己的学号作为账户设置密码在每次账户登陆时系统将
把登陆的账号保存至本地数据库,等待所有参会打卡步骤完成后的信息整理。
3.2.2获取会议信息
采集学生信息后其次就是收集学生参加会议的会议信息了。在这一步本文提出了
通过扫描含有会议信息的二维码的方法来进行会议选择。在移动支付如此盛行的今天
扫码操作对于当代大学生来说并不陌生,通过这个方法能节省不少的操作时间C
会议信息发布和扫描二维码是获取会议信息的关键,因为本系统的会议信息是通
过二维码保存的,自然在每一个会议举办前都需要生成一个二维码图片。如今在任何
搜索引擎上键入二维码生成后可供选择的免费二维码生成服务多如牛毛,并且本文设
计的二维码信息保存方案的信息十分简单。因此在二维码生成方面本系统不需要过多
的步骤。在会议上主讲老师或者学生可以选择在合适的时间将此二维码图片发布在讲
演PPT或者视频里;也可以由会议主办方在会议室布置带有二维码的告示。不同于校
园卡-打卡机的一对一打卡方式,扫描二维码实现了一对多的打卡流程极大的提高打卡
效率。下图3.2是二维码发布及扫描演示。
图3.2二维码发布及扫描演示
3.2.3定位系统
本系统对打卡操作是否异常也就是数据真实性的判断是通过对比实时定位信息来
完成的。现在移动设备的位置信息功能以及十分发达。民用北斗系统和CPS系统定位
据可以精确到3-5mo所以在参会打卡系统中设计了通过将打卡操作时的实时位置上传
给服务器对比是否相应的会议室的范围内来进行数据真实性判断。图3.3是通过定位
判断数据真实性的流程图°
13
重庆工程学院本科毕业设计3系统总体设计
完成扫描
点击定位
I
获取定位信息
I
提取经纬度
等待信息发送
签到成功签到失败
图3.3定位判断数据真实性
3.2.4数据管理
由于Android前端和后台云服务器要进行数据交互,所以我们需要选择一种安全;
快速;通用;体积小的数据交换格式。通过对现在应用市场的考察发现JS0N格式是一
个非常好的选择JSON是一种轻量级的数据交换格式,是基于JavaScript的一个子集。
JSON采用完全独立于语言的文本格式,采用类似于C语言的格式。典型的JS0N格式
中“口”符号对表示JSON数组,“{}”符号对表示JSON对象。JSON较之XML更小
更快更易解析。Android要访问远程MySQL数据库,先要利用HTTP协议发送Request
请求给后台云服务器,云服务器端根据请求访问MySQL数据库服务器。服务图数据处
理完成后通过HTTP协议回传给Android终端,Android终端再对JSON解析,并进
行相关的UI处理⑹。
3.3服务器端设计
在获取Andwid客户机发送来的信息后服务器需要分别将会议信息;会议室信
息;与实时定位经纬度与数据库保存的信息对比。而用作解决学生日常问题的系统的
后台服务器,必须选择一个相对稳定无人值守也能正常运行的云服务器。并且要在云
服务器上配置正确的软件运行环境以及MySQL数据库版本使后台程序服务能够被支
持。最终服务器需要对Android客户机发送来的数据进行应答发送返回值。具体功能
见下图3.4。
14
重庆工程学院本科毕业设计3系统总体设计
图3.4云服务器功能
3.3.1服务器框架设计
1.环境配置
本系统的后台云服务器选用的是阿里云轻量应用服务器,在选择云服务器系统镜像
时选择的宝塔可视化面板镜像。这样能更方便管理人员对云服务器的后期维护和数据库
的修改操作。
在系统环境方面需要安装JDK1.8和MySQL5.5及其以上版本。在数据库查看方面需要安
装phpMyAdmin软件,它可以对MySQL的数据表进行面板化修改。最后需要给云服务器
安装screen功能。
2.建立后台运行程序
本系统的后台程序是基于Java语言使用IDEA编程软件编写的。本系统的服务器应
用使用了SpringBoot框架。SpringBoot是用来简化Spring应用的初始搭建以及开
发过程的框架,方便开发人员,因为不需要定义样板亿配置所以编写复杂程度降低不少。
SpringBoot能独立创建并主动配置Spring应用,并且在使用IDEA编写时可以通过
Maven快速构建。SpringBoot继承了Spring易配置易测试的优点。最后代码编写完成
后需要讲程序打包为jar格式。
3.服务器运行程序
本系统需要无人值守时也能正常运行所以需要Screen功能,通过screen能创建一
个可以在后台运行的服务,它不会因为终端的断开停止运行,具体操作如下所示。
1.sudosuroot切换root账号。
2.screenT创建一个新的后台运行服务。
3.进入保存系统jar包页面。
4.java-jar相应的包运行程序。
15
重庆工程学院本科毕业设计3系统总体设计
3.3.2MySQL数据库设计
1.环境配置
学生参会打卡系统基于MySQL数据库,在数据库中分别建立会议信息表;会议室信
息表和学生打卡信息表。下面依次介绍各个表的所存储的信息以及分别的作用C
1.会议信息表
会议信息表由两项信息组成分别是会议名称(Varchar)和会议地点(Varchar)。会
议名称时学牛参加的会议的名字它将和由客户机Android手机扫码获得的信息进行对
比。会议地点是参加会议所在的会议室名称同样与扫码获得的信息进行比对。
2.会议室信息
会议室信息由两项信息组成分别是会议室名称(Varchar)和会议室经纬度(bigint),
会议室名称和会议信息表的会议地点对应。而当确定会议室名称后,会议室经纬度将和
上传的实时经纬度进行对比判断。
3.学生参会信息表
学生参会信息表由学号(bigint)和会议名称(Varchar)组成.是服务器对传送来
的信息比对成功后将传送来的信息中的学号和对应的会议名称分别填入建立一条新的
数据。
16
重庆工程学院本科毕业设计4系统的实现
4系统的实现
4.1Android前端
本节主要是介绍在学生参会打卡系统中前端Android的设计实现展示。在第二章里
具体分析具体流程后,分析了前端所要实现的具体功能后编写出符合系统基本要求的
Android前端软件。
4.1.1页面介绍
1.登陆界面学生信息管理包括学生注册;登陆软件;修改密码;注销账号等功能。
在主界面所有关于学生信息的功能一览无余。下面几张图片则是与学生信息功能的面板
展示。
图4.1学生登录主界面
17
重庆工程学院本科毕业设计4系统的实现
无服务■■■■・序令0叵319:17
用户注册
就请输入学号
请输入您的密码
造确认您的密码
□O<
图4.2学生注册功能界面。
无服务■■■■■方得琳在)19:17
密码修改
方请输入学号
请输入您的旧密码
请确认您的新密码
请输入您的新密码
□O<3
图4.3学生账号密码修改界面
18
重庆工程学院本科毕业设计4系统的实现
2.登陆后学生会进入系统主界面。主界面里有本系统前端的所有功能按钮包括:会
议选择(扫描二维码);定位签到及退出功能。下面几张图片是各个功能面板的展示。
图4.4参会打卡系统功能三界面
进入主界面后首先应该点击会议选择按钮打开二维码扫描界面扫描在会议发布的
含有会议信息的二维码。
可暂QID19:29
格二维码圄片对准扫描框
O<]
图4.5会议选择二维码扫描界而
19
重庆工程学院本科毕业设计4系统的实现
成功扫描二维码后点击定位按钮,进入页面后点击开始定位并等待显示实时定位数
据的获取。
停止定位
time:2019-02-1619:16:37
locType:161
locTypedescription:NetWorklocationsuccessful!
latitude:29.528951
lontitude:106.566378
radius:60.139088
CourtryCode:0
Country:中国
citycode:132
city:重庆市
District:南岸区
Street:金jj支路
addr:中国重庆市南岸区金山支路1号
UserlndoorState:1
Direction(notalldeviceshavevalue):-1.0
locationdescribe:在万寿华庭附近
Poi:万寿华庭;五号苑;中国银行(花园村支行);交通银行(南城
支行上七号佳苑;
operationers:0
describe:网络定位成功
□O<
图4.6实时定位界面
4.1.2Android主要功能代码简介
Android前端代码主要分析卜.如何通过Android设备的GPS获取实时定位;打开摄
像机扫描二维码以及信息上传服务器的功能。
1.GPS信息采集
使用GPS首先要申请相关权限因为本系统的定位功能是基于百度地图SDK所以在使
用前首先应该在百度地图申请AP1KEY。具体申请还需要几步操作这里就不做赘述。以下
几张图是申请AK及获取定位权限的示意图和代码。
20
重庆工程学院本科毕业设计4系统的实现
&R8AK:kVY94F3wRSgcXspuZWjbKRK0rMqGML3r
初8名称:dirgwei
应用类生:Android清
后用贰若:云检索正在地遑省日QAndroidteESDK
QAndrold$<2SDKAndroid导肮福统SDKSAndroid导肮SDK
好整全景峥有芟坐标5C缝
鹰限乳迹全JRURLAPIAndroid导航HUDSDK
三逆地理调利:三地理靖日1准荐上车忘
城芝SDKit外底图
*»6lfSHA1:3B26:BF:3439:91:Dl:0E:8A:0D:DD:3A:06:F9:99:B3^7:66:25:.
开发版SHA1:满输入开发版SHA1
*包名:com.example.fooli$hfan.u$er_v10。谕入正位
安全码3B26:BF:M:39^1:D1:0E:8AX)D:DD:3AX)6:F9:99:B3:9766:25:46;com.exampl
e.foolishfan.uservlO
AndroidSDK安全码殂成:SHA1+&S.(至Itts旺—?法)新国语的Mobile
与Browser?理的ak不再支持云存储接口的访问,如要使用云存储,清申清
Serve啰理ak.
图4.7百度地图申请AK
《一这个权运用于进行%第定位一〉
(uses-peraissionandroid:nge="uidroid.peraission.ACCESS_COARSE_LOCATIOI*X/ases-perBissi«n>
<!-这个权更用于时可GPS定位一)
(ases-peraissionandroid:niBe=*uidroid.persission.ACCESS_FIIE_LOCATIOK*X/ases-perBissieii>
“一用于访问Tfi网络信息,T行信息会用于进行网络定位一〉
(uses-peraissionandroid:niBe-vaiidroid.per>ission.ACCESS_fI?I_STATB*X/iises-per«issi«n>
〈!一获取运营裔信息,用于支持提佚运营商信息相关的簇口一〉I
(uses-peraission&ndroid:ntBe=vuidroid.peraission.ACCESS_IETIORK_STATE*X/ases-perBission>
这个权隹用于获取wifi的获欺权谟,Zfi信息会用来注行网络足位一〉J
<uses-peraissionandroid:nme=vandroid.peraission.CMAIGE_i^I_STATE>></ases-peniissi«n>
<!一用于读取手机当螂状态一〉J
(uses-peraissionAndroid:ntBe="uidroid.penission.READ_PHOIE_STATE*X/uses-perBission>
<.f-舄入甘展存储,向抗艮卡写入效据,用于写入亮纥定位嫖一〉
(ases-peraissionandroid:niae="uidroid.peraission.7RITE_EXTERIAL_STORAGE^X/ases-peraission>
《一访南府络,网络定位不要上用一〉
(uses-peraissionandroid:ntBe-*uidroid.peraission.IVTERIET*/>
C-⑪卡叙权氢用户写入案线定位数据一〉
(uses-peraissionuidroid:naBe=*uidroid.persission.MOUIT^IIIOUIT-FILESYSTEIIS>></ases-penission>
・,•.■
图4.8定位功能相关权限
21
重庆工程学院本科毕业设计4系统的实现
<!—声豺service组件—>
〈service
oid:nase=*coB.b&idu.location.£"
android:enabled=*trae*
android:process=v:remote>>
</service>
<!-AK筌权—>
<!-zeta-data需要写在application中一>
<aeta-data
androxdCOB.ba;du.Ibsapi..API_KBY"
31roid:value="kVY94F3,RSgcXspuZtjbKRK0r・qGlIL3r./>
图4.8填入申请的百度地图AK
请求定位后获取实时定位信息,分别请求接受对应的定位数据。百度SDK里有完整
的定位信息获取。而我们系统只需要精确的经纬度数据即可。获取以后用
SharedPreferences方法将获取到的经纬度信息先保存到本地数据库。
privateBDAbstractLocatianLxstcncrmLxctoner=(1oea^x«n)-*■{
//TODOAM•一•/methodstab
if(null!"location£&location.gttLocT>T)e()!"BDLocation.Tjrp9S9rv9rBrr9r){
Strin^uffersb=nerStringBuffer(256);
sb.append(*ti«e:*):
/«
“时间也可以使用£y八・Clock〃.p”蜗然方法获取的是个从开机以来,缶次回调的时间3
*location.getTi^O是指版务荷出本次结果的时间,8果位岂不发生变化,用时间不变
♦/
sb.app«nd(location.getTimeO);
sb.app«nd(*\nlocTyp«:");〃定位美Sf
sb.append(location.getLocT>7>e()):
sb.append("\niocTypedescription:"):〃*«**打*三三£交卷安
sb.append(location.getLocTypeDescriptionO);
sb.app«nd(w\nlati:"):〃然度
sb.append(location.getLatituder));
sb.appendC*Xnlontitude:'):〃经受
sb.appenddocatioiLgetLongitudeO);
sb.append(*\nra4iBS:');〃半&
sb.append(location.getRadius());
sb.append(*\nCovuitryCode:*):〃国家弟
sb.append(location.getCountryCodeO);
sb.•pptndC9XnCountry:■);〃国二名称
sb.appenddocatioiLgetCountryO):
sb.append(*\ncitycode:,)://方^纶得
sb.appenddocatioiLgetCityCode^));
sb.apptnd(*\ncity:");〃城不
sb.appenddocation.getCityO);
sb.append(*\n)istrict:"):〃区
sb.append(location.getDistrictO);
sb.append(*\iiStreet:");〃密俎
sb.append(locatioxLgetStreetO):
sb.append(*\ni<ldr:'):〃幺之勺息
图4.9GPS请求位置信息
22
重庆工程学院本科毕业设计4系统的实现
/**
*把从百度地图定位获聚到的经纬度存放到数指肆里面
***/
SharedPreferencessp=getSharedPreferences(*nersMODE_PRIVATE):
SharedPreferences.Editoreditor=sp.edit();
editor.putString(^aeetingRoomFlacelocation.getLongitudeO+””
+“:"+location.getLatitudeO+”);
SharedPrefUtils.getlnst&nceO.putString(AppConstant.SharedPreferenceKey.MEETIWG_ROOM_PLACE,
loc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国火力发电厂输煤程控管理系统市场调查研究报告
- 2025年中国浓心奶油糖市场调查研究报告
- 2025年中国水滑石市场调查研究报告
- 2025年中国孔纹波纹金属规整填料市场调查研究报告
- 2026北京京考面试题及答案
- 气切患者舒适度管理
- 护理专业护理政策与法规课件
- 护理实践指南图
- 护理健康教育评价体系构建
- 抽血室环境清洁与消毒要求
- 人工智能原理与方法智慧树知到课后章节答案2023年下哈尔滨工程大学
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 走进舞蹈艺术-首都师范大学中国大学mooc课后章节答案期末考试题库2023年
- 钢管规格型号重量对照表
- 小型挖掘机工况介绍
- 饲料原料知识和品控
- GB/T 7582-2004声学听阈与年龄关系的统计分布
- GB/T 4937.3-2012半导体器件机械和气候试验方法第3部分:外部目检
- GB/T 37356-2019色漆和清漆涂层目视评定的光照条件和方法
- GB/T 2946-2018氯化铵
- GB/T 29128-2012船舶固定式气体灭火系统通用要求
评论
0/150
提交评论