基于Android的课堂考勤系统的设计与实现.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 课堂 考勤 系统 设计 实现
- 资源描述:
-
本科毕业论文 题 目 基于Android的课堂考勤系统的设计与实现 Design and Implementation of Classroom Attendance System Based on Android 姓 名 学 号 专 业 计算机科学与技术 指导教师 职 称 副专家 中国·武汉 五月 分类号 密级 华中农业大学楚天学院本科毕业论文 基于Android的课堂考勤系统的设计与实现 Design and Implementation of Classroom Attendance System Based on Android 学生姓名: 学生学号: 学生专业:计算机科学与技术 指导教师: 华中农业大学楚天学院 二○一七年五月 华中农业大学楚天学院毕业论文(设计) 原创性声明 本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果由本人承担。 作者署名: 日 期: 年 月 日 目 录 摘要 I 关键词 I Abstract I Key words I 1 绪论 1 1.1 研究目的与意义 1 1.2 国内外的研究现状 1 1.3 本文的重要组织结构 1 2 系统开发环境介绍 2 2.1 Android开发平台基础知识 2 2.1.1 Android平台简介 2 2.1.2 Android的系统结构 2 2.2 课题相关的Android技术介绍 3 2.2.1 Android终端与Web服务器数据交互 3 2.3 开发工具介绍 3 3 需求分析及系统概要设计 4 3.1 系统可行性分析 4 3.2 功能需求分析 5 3.3 数据库设计 5 3.4 关系模型 8 3.5 数据库表 8 4 系统具体设计 10 4.1 系统整体架构设计 10 4.1.1 系统架构设计 10 4.1.2 系统整体架构 11 4.2 从功能模块看核心流程 12 4.2.1 服务端连接设计实现 12 4.2.2 登录注册设计实现 12 4.2.3 请假功能模块的实现 13 4.2.4 考勤模块实现 14 4.2.5 个人中心模块功能实现 16 5 实验与验证 17 6 系统测试 24 6.1 系统测试方法 24 6.2 系统测试过程 24 6.3 测试总结 27 7 设计总结 27 参考文献 28 致谢 29 摘 要 本论文介绍的是基于安卓技术的课堂考勤系统,本软件可认为用户提供实时查看课程信息,进行课堂签到的功能,可以解决当前高校对考勤信息管理困难的问题,对考勤信息进行统一的管理,提高考勤信息的实时性和统一性。这样能让高校对考勤信息的管理变得更加方便快捷,节省人力物力,为需求双方提供了一个便利的平台。 本软件系统采用Eclipse开发环境结合Android SDK进行设计,开发了一个基于Java语言的课堂考勤软件。系统重要实现了登录注册、请假、考勤签到、个人中心等重要功能模块。在请假和考勤签到中使用了百度定位的解决了签届时候对学生位置的定位,在查询考勤信息中可以根据不同的条件获得符合规定的考勤信息,个人中心可以对账号密码等进行修改。 关键词 课堂考勤;Android;Android SDK; Abstract This paper introduces a class attendance system based on Android technology.This software can provide real-time information for the user to view the curriculum,classroom attendance function and can solve the difficulties in managing current college attendance information for colleges and universities, uniformly managing the attendance information and improving the real-time and consistency of attendance information.This can make the management of attendance information more convenient and quick,and save manpower and material resources.It provides a convenient platform for both sides of demand. The software system has developed a classroom attendance software based on Java using Eclipse to develop environment and combining with Android SDK to design.The system mainly implements the major functional modules of login,registration,leaving,attendance,personal center and so on.In the leave and attendance registration,the use of Baidu positioning has solved the positioned position when students sign.In the inquiry of attendance information,the system can access to the attendance information that meets the requirements according to different conditions.The password of the account number can be modified in the personal center. Key words Class attendance;Android;Android SDK; 1 绪论 1.1 研究目的与意义 开发本系统的目的,就是要解决目前高校中关于学生请假与上课出勤管理中所面临的一系列问题。开发出高校学生考勤管理系统能有效地提高高校办事效率,解决目前高校学生请假及上课出勤管理问题,实现学生请假及上课出勤信息对任课教师、班主任、院系领导、学校领导透明,使班主任、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。但是传统教学中,学生的考勤信息仅作为教师课程总评结果中对学生平常表现的评价依据。并且还存在以下一些问题:(1)考勤信息由教师人工操作、管理,效率低下;(2)不同教师所掌握的考勤信息分散、缺少联系;(3)信息汇总往往发生在期末总评期间,实时性差;(4)记录形式不规范记录困难;(5)教师对教学期间的缺勤信息缺少及时的解决,运用率低下。 本设计是以Android操作系统为基础的“课堂考勤”软件的设计与实现。为了方便用户可以随时随地查看考勤信息,申请请假,在线签到等,一种高效的办法就是做成应用程序拓展到用户的终端设备上,并且提供一些辅助功能。所以这次毕业设计的目的就致力于开发出一款基于Android手机平台的课堂考勤系统,来满足用户的需求。 1.2 国内外的研究现状 就目前的情况和事实来看,Android市场正在以迅猛的方式,慢慢地扩展了它的产品,以满足不同人群的需求,而不仅仅是做一些低端的智能手机,智能机器可以满足一般人群的平常生活,涉及娱乐的需求,会产生一些比较昂贵,但高品质的高端智能手机,适合商务人士使用。智能机现在越来越多的被大家所接受,相较于其他品牌的普通机器,人们喜欢买一种便宜的,性能优异的智能机,其因素是由于他们能满足一般人谁使用手机的需求,性能特点各方面也让用户感到这是一个非常良好的感觉和行动,而不是作为高端机的价格昂贵。很多人喜欢用手机玩系统,看视频等,功能有点硬件和软件的手机需要增长的需求,比如在屏幕上流畅,速度快,兼容性好等优点,对这些人来说,也有很多高端智能手机采用Android,这款手机完全可以满足人们的平常需求。现在应用的安卓系统将更加努力来改善,有许多余名的应用程序,如地图导航,视频点播系统等。现在Android的发展速度超过了所有人的想象,为安卓开发的软件也非常乐观,这是一个值得发展壮大的领域,安卓也将是一个主流系统,供市民使用。 1.3 本文的重要组织结构 第一章绪论:全文的研究目的与意义、国内外的研究现状是本章的重要内容。此设计的研究目的与意义在第一节做出了简朴介绍,第二节对所用的工具及技术做出了简略的叙述,本文的重要组织结构在第三节做出了简朴介绍。 第二章研究基础:本章重要介绍了全文用到的几个基本概念以及使用的开发工具。第一节对全文需要用到的基本概念给出了解释。第二节对完毕本次设计所需的开发工具做了简要介绍。 第三章系统分析:系统的功能模块和系统使用流程在这一节进行了介绍。 第四章系统设计及重要模块功能:本章对整个系统的实现、系统架构进行了介绍,并将核心内容进行了实现,如:签到、登录、查询请假、查询考勤等。 第五章系统实现:这一章是对本次设计的各种功能进行细致的讲述实现过程及系统如何完毕这些功能的。 第六章系统测试:这一章是对本次设计的各种功能进行细致的测试,验证系统可用。 第七章总结:这一章对本次毕业设计进行了自我总结。 2 系统开发环境介绍 2.1 Android开发平台基础知识 2.1.1 Android平台简介 Android属于开源移动操作系统,该系统重要在Linux平台上进行设计,Andy Rubin是该系统的最初设计主体,随后Google对其进行收购,并且在2023正式宣布该平台的建设成功,号称是首个为移动终端打造的真正开放和完整的移动软件。该平台采用软件叠层架构,由操作系统、中间件、用户界面和应用软件组成。 该平台在具体实践过程中获得了快速的发展,究其因素:其一,Google非常支持该系统的发展,该公司非常关注该系统在以下两个方面的优势,即开源以及标准化,同时希望在创新移动产业过程中让这一优势得到体现,借此来解决相关问题,以此来让个人也可以想享受到开放性的信息服务系统服务。其二,Android自身所具有的开放、应用程序互相平等、应用程序之间沟通无限制的优势有也是其快速发展的重要因素。 2.1.2 Android的系统结构 该系统架构在具体设计过程中遵循的思想为分层架构,形成了清楚的结构以及层次,做到了分工合作。具体来说,其重要由以下几个部分组成,即应用程序层、应用框架层、系统库和Android运营库以及Linux内核层,如图2-1所示。 图2-1 Android系统架构图 接下来对每一层的功能进行具体分析: 第一,应用层,这一层的应用程序在编写过程中重要使用的语言为JAVA语言,并且有非常关键性的应用程序,典型代表有通讯录管理、收发信息以及拨打电话等等。这些核心应用可以被编程人员自己用JAVA语言开发的应用程序进行替代。 第二,应用程序框架层,在具体开发这一系统时,这一层发挥着基础性作用,相称数量核心应用程序来实现核心功能过程中,都需要依托这一层才可以实现。立足于该层中的重用机制,开发人员对其给予的组件部分,可以使开发应用程序快速的实现,同时可以方便地替换平台自身的各种应用程序组件。 第三,系统库以及Android运营库,系统库在应用程序中发挥着决定性影响,并且连接以下两个层,即框架层以及Linux内核层。在对该系统进行运营过程中,其具体组成内容有核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又涉及了Android的核心库。 第四,Linux内核层,该系统的关键功能实现都需要依托这一层次来实现,典型代表有安全性、相关进程、管理以及网络协议等等。Linux内核也同时作为硬件和软件栈之间的抽象层。 本文重要是在Android应用基础上来进行相关软件开发,这意味着有必要介绍Android的应用程序基础知识和相关组件。 2.2 课题相关的Android技术介绍 2.2.1 Android终端与Web服务器数据交互 在android中发布应用的途径重要有:第一,客户端应用程序,依托Android SDK来完毕开发,在用户设备安装过程中,其后缀为.apk。第二,作为web应用程序,使用web标准制定和通过web浏览器访问一一不需安装任何东西。 在最终决定应用程序方法时,受到诸多因素影响,但是为可以支持viewport属性等等,以此来进一步简便web应用程序开发。除此之外,能实现根据屏幕大小拟定web应用的适当尺寸、根据屏幕分辨率提供图片和不同风格等功能。 在这种情况下,提出屏幕考虑因素可以让web应用程序开发难度进一步减少。由于所有Android类型的款的屏幕可以帮你将web页面设计的很好。 在客户端以及web端中建立相应的程序并不需要对相关程序进行设计,这也是该系统的特点之一。据此可以综合使用这两方面内容,以此来对相关客户端进行开发,并且在程序中添加web页。下图直观显示如何可以访问web页从web浏览器或Android的应用程序。如图2-2所示。 图2-2 Android终端与Web服务器端数据交互 2.3 开发工具介绍 (1) Eclipse介绍 Eclipse源代码具有开放性的特点,从本质上看,其仅仅包含了一个框架以及一组服务,然而其存在相应的标准插件集,可以据此来对开发环境进行构建,是一个基于Java的可扩展开发平台。 Eclipse重要选择了轻型软件组件化架构来建立插件集,据此来在客户机中增长相应的功能,例如可以支持更多的开发语言。现阶段,已经存在的插件可以对如下内容进行使用,即C/C++(CDT)、Ruby等等,同时也可以开发数据库。插件架构可以在当前环境中增长任何内容,具体来说,可以实现配置管理等等,并不仅仅是对相关编程语言进行使用。其重要结合如下思想进行设计,即依托插件来实现所有的功能,其不具有较大的核心,重要通过插件方式来在核心中添加相关的功能。Eclipse基本内核涉及:图形API,Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse是一个开放源代码的软件开发项目。它具体涉及四个部分:Eclipse Platform,JDT,CDT和PDE,重要由以下几个项目组成:Eclipse项目、工具项目和技术项目。PDE用来支持插件开发、CDT支持C开发、JDT支持Java开发、Eclipse Platform则提供了一个通用的开发平台,是一个开放的可扩展IDE。 要据此来编写Android工程,一方面需要形成相应的开发环境,在这一过程中,一方面需要对该工具进行安装,然后在其上安装ADT插件,再指定SDK对的的途径,这样变可以创建android虚拟机了。 (2)关键技术介绍 Android平台开发方面包含基本的应用功能开发、数据存储、网络访问这三大块。如图2-3所示。 图 2-3 Android平台开发 (3)功能开发 标准的Android程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider来实现。 (4)数据存储 在Android,可供选择的存储方式涉及了SharedPreferences、文献存储、SQLite数据库存储方式、内容提供器方式(Content Provider)以及网络方式5种,本系统网络方式重要是通过网络访问该网络提供的网络服务接口实现数据的读写服务。 (5)网络访问方面 重要是Http访问技术的封装,通过java.NET.*;以及A.*;下面提供的HttpPost、DefaultHttpClient、HttpResponse等类提供的访问接口来实现具体的web服务访问。 本软件采用Java作为开发语言,布局和数据存储是开发本软件的关键技术,布局用来设计用户交互界面,使用xml技术设计,而xml中控件的位置和状态则离不开布局的使用,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户相关的,而数据存储技术则记录了用户所有的操作数据和用户所需要提取的数据。 3 需求分析及系统概要设计 3.1 系统可行性分析 (1)技术可行性 Java提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及服务。整个系统帮用户做了大部分不重要的琐碎的工作。且关于这方面的书籍、资料比较齐全。 (2)操作可行性 本系统采用基于安卓客户端,运用安卓手机安装软件就可以进行访问和操作,且界面简朴易操作,用户只要平时有在用过智能手机,都能进行访问和操作。 本系统具有易操作、易管理、交互性好的特点,在操作上是非常简朴的。因此本系统可以进行开发。并且对于目前高校考勤信息管理困难的问题可以进行有效的解决,提高考勤信息的实时性和统一性。 (3)经济可行性 系统是基于Android的软件,采用Eclipse平台。所以系统在开发人力、财力规定不高。且可以有效减少高校中对考勤花费的人力物力。具有经济可行性。 3.2 功能需求分析 用户使用考勤系统,一方面需要登录成功。通过http协议发送post请求给后台服务器,后台服务器通过controller接受登录的用户名和密码选择相应方法验证是否登录成功。 当学生没有账号时,可以点击学生注册进行注册。输入所有信息后,且账号名不为空,两次密码相同,则将注册信息通过异步post提交给后台,后台调用数据库添加学生信息。教师、辅导员以及领导需要在后台由管理员进行添加。 系统重要分为考勤、请假、个人信息三个模块。进入系统首页后可以选择这三个功能模块。 在学生登录后,点击请假可以查看请假状态(请假是否通过审核),并且可以添加请假的申请或者删除之前的请假申请;当点击考勤时根据课程、时间、当前定位地点来拟定学生是否签到成功。 在教师登录后,点击查看请假信息可以查看当前通过审核的请假信息。当点击查看考勤信息可查看此教师专家课程的所有考勤信息,教师也可以根据学号添加缺勤信息,或者点击记录然后根据学生姓名搜此学生的各种考勤信息。 辅导员和领导登录后,点击查看请假信息可以查看所有请假信息,并且可以选择是否通过请假申请;而点击查看考勤信息可以查看所有学生的考勤信息,并且可以根据课程、时间来查询所有相应的考勤信息。 用户登录后都可以在个人界面查看到昵称和账号,也可以直接修改昵称和密码。 图 3-1 系统功能结构图 3.3 数据库设计 (1)学生实体属性图,如下图3-2所示。 图 3-2 学生实体属性图 (2)教师实体属性图,如下图3-3所示。 图 3-3 教师实体属性图 (3)辅导员实体属性图,如下图3-4所示。 图 3-4 辅导员实体属性图 (4)领导实体属性图,如下图3-5所示。 图 3-5 领导实体属性图 (5)学生、课程考勤局部E-R图,如下图3-6所示。 图 3-6 学生、课程考勤局部E-R图 (6)教师、课程局部E-R图,如下图3-7所示。 图 3-7 教师、课程局部E-R图 (7)学生、课程请假局部E-R图,如下图3-8所示。 图 3-8 学生、课程请假局部E-R图 (8)总体E-R图,如下图3-9所示。 图 3-9 总体E-R图 3.4 关系模型 由以上实体和E-R图可导出如下关系模型。 学生(编号,学号,密码,姓名,角色,班级,电话,密保,经度,纬度) 教师(编号,工号,密码,姓名,角色,课程,电话,密保,经度,纬度) 辅导员(编号,工号,密码,姓名,角色,电话,密保,经度,纬度) 领导(编号,工号,密码,姓名,角色,电话,密保,经度,纬度) 考勤(编号,学号,教师工号,地址,时间,学生姓名,课程,状态,经度,纬度) 请假(编号,学号,教师工号,备注,时间,地址,审核状态,图片) 3.5 数据库表 用户表,如下表3-1所示。 表 3-1 学生表 字段 字段名 类型 意义 id 编号 int 自增长 gonghao 学号 varchar(20) 主键 pass 密码 varchar(50) name 姓名 varchar(50) type 角色 varchar(20) 辨认身份 banji 班级 varchar(20) 学生所在班级 tel 电话 varchar(50) mibao 密保 varchar(50) 找回密码需验证 lat 经度 varchar(20) lng 纬度 varchar(20) 教师表,如下表3-2所示。 表 3-2 教师表 字段 字段名 类型 意义 id 编号 int 自增长 gonghao 工号 varchar(20) 主键 pass 密码 varchar(50) name 姓名 varchar(50) type 角色 varchar(20) 辨认身份 kecheng 课程 varchar(50) 教师专家的课程名 tel 电话 varchar(50) mibao 密保 varchar(20) 找回密码需验证 lat 经度 varchar(20) lng 纬度 varchar(50) 辅导员表,如下表3-3所示。 表 3-3 辅导员表 字段 字段名 类型 意义 id 编号 int 自增长 gonghao 工号 varchar(20) 主键 pass 密码 varchar(50) name 姓名 varchar(50) type 角色 varchar(20) 辨认身份 tel 电话 varchar(50) mibao 密保 varchar(50) 找回密码需验证 lat 经度 varchar(20) lng 纬度 varchar(20) 领导表,如下表3-4所示。 表 3-4 领导表 字段 字段名 类型 意义 id 编号 int 自增长 gonghao 工号 varchar(20) 主键 pass 密码 varchar(50) name 姓名 varchar(50) type 角色 varchar(20) 辨认身份 tel 电话 varchar(50) mibao 密保 varchar(50) 找回密码需验证 lat 经度 varchar(20) lng 纬度 varchar(20) 考勤表,如下表3-5所示。 表 3-5 考勤表 字段 字段名 类型 意义 id 编号 int 自增长 uid 学生学号号 varchar(20) tid 教师工号 varchar(20) 根据教师拟定课程 address 地址 varchar(50) 签到地点 time 时间 varchar(50) 签届时间 uname 学生姓名 varchar(50) 签到学生姓名 state 状态 varchar(20) 签到状态 kc 课程 varchar(50) 签到课程 lat 经度 varchar(20) lng 纬度 varchar(20) 请假表,如下表3-6所示。 表 3-6 请假表 字段 字段名 类型 意义 id 编号 int 自增长 uid 学生工号 varchar(20) tid 教师工号 varchar(20) beizhu 备注 varchar(50) 请假因素 data 时间 varchar(50) 请假时间 address 地址 varchar(50) 请假地点 type 审核状态 varchar(20) 审核状态,默认审核中 pic 图片 varchar(50) 头像 4 系统具体设计 4.1 系统整体架构设计 4.1.1 系统架构设计 若拟定软件具有若干个部分,则其中最高层次必然为系统架构。软件系统的核心内容之一即为元件,再设计系统架构过程中,需要对元件之间的关系进行拟定。系统架构设计除了对己拟定的需求的技术实现构架、作好规划外,对其可扩展行、稳定性和安全性也要给予足够的重视。 本系统重要存在前台以及后台,即客户端以及服务器端,彼此之间具有相对独立性。在设计客户端过程中,要对使用者的可操作性进行关注,后台服务端设计着重功能实现上的逻辑合理性,兼顾与数据库的数据交互。 本基于Android手机的课堂考勤系统后台的开发便是采用了Spring MVC的框架来进行实现的。Spring MVC是服务者到工作者模式的实现。前端控制器是DispatcherServlet;应用控制器其实可以拆为解决器映射器(Handler Mapping)进行解决器管理和视图解析器(View Resolver)来进行视图管理;页面控制器/动作/解决器为Controller接口(仅包含ModelAndView handleRequest(request,response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文献上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 图 4-1 Spring MVC应用结构 核心架构的具体流程环节如下: (1)一方面用户发送请求至DispatcherServlet,前端控制器收到请求后自己不进行解决,而是委托给其他的解析器进行解决,作为统一访问点,进行全局的流程控制; (2)DispatcherServlet至HandlerMapping,HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler解决器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略; (3)DispatcherServlet至HandlerAdapter,HandlerAdapter将会把解决器包装为适配器,从而支持多种类型的解决器,即适配器设计模式的应用,从而很容易支持很多类型的解决器; (4)HandlerAdapter至解决器功能解决方法的调用,HandlerAdapter将会根据适配的结果调用真正的解决器的功能解决方法,完毕功能解决;并返回一个ModelAndView对象(包含模型数据、逻辑视图名); (5)ModelAndView的逻辑视图名至ViewResolver,ViewResolver将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术; (6)View至渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术; (7)返回控制权给DispatcherServlet,并且由DispatcherServlet返回响应给用户,到此一个流程结束。 图 4-2 系统数据流向 在本系统中,用Spring MVC开发框架来构建后台服务端,运用了其提供了基于Java的高效开发的特点,可以快速构建稳定、功能强大的后台应用服务。如图所示,本系统从Android端直接向由Spring MVC搭建的服务端获取请求,服务端接受请求过后或调用远程WEB接口获取数据,或调用本地数据库获取数据,然后返回JSON数据结构的返回数据给Android端。如此一来,就形成了一个运转良好的信息回路。不仅把原有系统进行了整合,并且还加入了一些新功能。 4.1.2 系统整体架构 基于Android手机的课堂考勤系统的层次和布局如图4-3所示: 图 4-3 系统结构图 由上图可见系统是由三个部分组成,客户端、服务端和数据端,三个层次在系统中承担的角色各不相同。 客户端就是指移动终端,用户通过3G或者WIFI运用移动设备进入系统,与系统建立通信。对于本系统来说,该层是基于安卓的应用程序搭建,其中涉及应用程序的界面部分(Android View)和应用程序的逻辑控制(Android Controller)搭建。该层通过调用服务端接口获取信息。 服务端是一个基于Java平台的WEB应用,与传统的网络应用程序不同的是,该层不包含界面的展示,只是为前台提供JSON数据接口。该层涉及控制层和业务逻辑层,控制层负责提供外部接口以及对接口进行数据定义,业务逻辑类定义了访问获取数据库信息的逻辑和访问数据库的方式。 数据层包含两个数据源,一部分是本地数据库的访问,另一部分是对现有的基于Android平台的课堂考勤系统数据库的访问。无论是数据的交互还是界面以及流程的设计,本系统都遵循了MVC设计原则,尽把系统的功能流程拆提成为具有单独功能的层次,这样一来,当未来需要对系统进行修改或者扩展的时候就会变得非常方便,简而言之,提高了系统的扩展性。 同时,系统安全设计需要贯穿整个数据流程,为信息系统的存储、传递、运用提供安全性保障。 4.2 从功能模块看核心流程 4.2.1 服务端连接设计实现 在本系统我们是使用Http网络协议技术,它具有GET和POST两种请求方式,对于服务器交互的数据,我们使用JSON字符串,Gson框架对它进行解析和转换,这些方法都分别封装在HttpsUtil.java和JsonUtils.java两个工具类中。 4.2.2 登录注册设计实现 点击课堂考勤APP的桌面程序图标进入登录界面即login_main.xml界面,先从SharedPreferences中取出上次登录的用户名、密码,如不为空则赋值给相应的输入框,如为空则规定用户输入自己用户名密码,点击登录按钮执行validate() 验证用户、密码是否规范,符合规定后调用UserClient.get()方法,启动一个异步任务将数据通过Http传服务器与数据库的用户信息进行匹配,若用户名、密码对的无误则用户登录成功,同时也将本次用户、密码也保存到SharedPreference中。 用户登录的流程图如4-4所示。 图 4-4 用户登录流程图 假如是新用户,则点击登录界面上的注册按钮,进入到activity_register.xml页面在RegisterActivity.java中进行注册,此时用户需要输入基本信息,分别为用户名、密码、确认密码等信息。点击注册按钮验证信息的规范性后将注册信息封装提交服务器并保存到数据库中。注册成功后返回登录界面。如下图4-5所示。 图 4-5 用户注册流程图 假如忘掉密码,则可以点击找回密码来通过密保找回密码。在点击提交时会验证是否为空,当两个EditText都不为空的时候才干提交。服务器去数据库查询,假如查到相应用户,则返回当前用户的姓名。如下图4-6所示。 图 4-6 用户注册流程图 4.2.3 请假功能模块的实现 请假功能模块重要实现了用户查看请假记录,学生可以发起请假信息,辅导员和领导对学生的请假信息进行审核。学生申请请假的界面是功能实现在qingjia_add.java中,界面为一个ImageView、日期为两个TestView、备注则为一个EditText控件。当提交的时候会通过UserClient.java中的get方法发出一个异步请求提交请假信息,后台接受后将数据写入数据库中。请假功能模块实现流程如图4-7所示。 图 4-7 学生请假流程图 当学生提交申请后,辅导员和领导可以在查询请假中看到未审核的请假信息,辅导员和领导可以选择是否通过审核,审核流程如图4-8所示。 图 4-8 审核流程图 教师可以在查询请假里面查看到自己所专家课程的请假信息,这里只显示请假通过审核的信息;学生可以查看自己请假状态是否被审核通过;辅导员和领导可以查看所有未审核请假信息。至此请假功能模块结束。 4.2.4 考勤模块实现 考勤模块重要实现了用户查看考勤记录的功能,学生进行签到,教师对学生签到信息进行审核。 在学生签到中通过课程、时间以及地点来进行拟定学生是否能签到成功,这里面课程通过学生选择,时间自动在提交的时候获取,而地点则由百度定位来实现。签届时可以根据控件com.baidu.mapapi.map.MapView这个百度控件来查看当前自己在地图上的大体位置,在定位中定位会在BDLocationListener中获得返回的经纬度和地址描述,通过重写onReceiveLocation方法来获取定位的信息,然后调用服务器方法来和教师位置作对比,假如在该课程签届时间内且地理位置相差距离在30米内。则算签到成功,否则记为迟到。如图4-9所示。 图 4-9 学生签到流程图 而在教师查询考勤信息时,默认显示的是当前课的所有考勤信息。可以点击记录进入按学生姓名查询考勤信息。相称于在默认情况下加了查询条件,使得教师可以更快速的找到想要的信息。如图4-10所示。 图 4-10 教师查看及添加考勤流程图 当辅导员和领导查询考勤信息时,默认显示所有考勤信息。同样可以点击进入一个新的Activity按照课程、时间、类别的方式来指定条件查询。如图4-11所示。 图 4-11 辅导员、领导考勤流程图 4.2.5 个人中心模块功能实现 个人中心模块重要实现了用户查看个人基本信息、修改个人信息的功能。在这里可以查看到当前账号的账号名和昵称,可以直接对昵称和密码进行修改,当需要修改的时候会验证两个EditText控件中的内容是否为空,不为空的时候才会进行提交修改。Android会把这个请求提交给服务器,让服务器自己选择UserController中相应的方法解决。个人中心模块流程图如图4-12所示。 图 4-12 个人中心流程图 这里根据当前登录账号,对此账号的昵称和密码进行修改。这里也使用AsyncHttpClient进行异步请求修改账号昵称和密码并根据返回的json拟定是否修改成功。 5 实验与验证 这里本人将从四个角色分别测试本程序是否可以完毕其所有功能,每个角色在这个系统中的功能不同需要分开来演示。 (1)学生身份实现的功能 一方面启动应用,就会启动LoginActivity这个Activity,这个界面重要部分是图片TextV展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




基于Android的课堂考勤系统的设计与实现.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3337345.html