基于Android平台的手机签到管理系统与设计_第1页
基于Android平台的手机签到管理系统与设计_第2页
基于Android平台的手机签到管理系统与设计_第3页
基于Android平台的手机签到管理系统与设计_第4页
基于Android平台的手机签到管理系统与设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 Android 平台的手机签到管理系统与设计1.选题缘由和意义在我们日常生活中,学生上课由老师进行点名考勤,参加工作后工作单位有打卡或者按指纹出勤考勤系统,参加某项活动需要纸质签到;在学习、工作、活动等等,考勤/签到管理系统是必不可缺少的。传统的签到模式不仅低效繁琐、占用时间,而且也为管理人员带来极其繁重的统计工作。新兴签到方式,如指纹签到,只能应用于个别有条件的场景下,无法普及。因此设计实现一个方便快捷、适合多方面多场景使用,而且便于普及的签到系统迫在眉睫。目前企事业单位对员工的考勤管理,基本上都是采用传统的打卡、指纹识别等被动考勤制度, 而对位于高层写字楼(特别是电梯资源又比较紧张的)的企业员工常会因为等电梯而迟到几分钟。而且现有考勤系统已经不能满足客户的各种需求了,原因如下: (1 )现有系统 RS485 型居多,它布线麻烦、施工工期长、网络不稳定、系统总费用高昂、后期网络维护和更改困难。(2 )系统功能单一,需要安装考勤系统、数据采集系统、工控监测几套系统,才能满足考勤门禁收费、生产数据采集、生产设备监测等需要。(3 )系统不灵活,客户的需求需要提交到系统制造商那里进行个性化定制,造成客户、供应商陷入频繁的功能定制的漩涡里现代社会,随着计算机技术和网络通信技术的不断发展和迅速崛起我们的生产生活方式也发生了巨大的变化。特别是智能手机的快速发展和互联网时代的到来,同时由计算机设计的一些软件和系统为我们的生活提供了许多方便,从而也代替了一些较复杂的手工程序。基于这种思想,本文设计实现了一个基于 Android 平台的手机签到系统。相比于传统的签到方式如教师点名签到方式,利用手机 GPS 定位发送位置进行签到既可以节省时间,又解决了代签的问题,既方便又快捷,也提高了管理质量,能够准确反映出勤情况。基于 Android 平台的手机签到管理系统主要包括二大组成部分:(1 ) Android 应用软件,即 android app;用户在 android 手机上安装该 app,通过相关进行登记,实现一键式签到(2 )后台 web 服务基于掌握 Android 手机应用开发技术设计制作一款动态考勤系统。本系统以 Java 语言为基础,结合 Android 移动开发平台,并利用 Android 提供的 SDK,完成在 Android 平台上运行签到管理软件,形成一款具有考勤等功能的手机应用软件。该软件可以通过验证用户点击签到功能,并根据系统服务时间来实现签到、签出,人员信息录入可以将人员姓名、性别、身份证号、头像上传到服务器,也可以根据道路实时状况信息拍照上传到服务器,管理员可以后台网站进行管理设置,每个登录人员可以通过点击签到记录来查看签到、签出的时间。2、Android 平台选择与系统简介2.1 智能手机平台对比当今时代我们使用的智能手机系统平台不是 android 即是 iphone(ios) ,两大平台的对比,最显著的区别在于:android 开放,而 iphone(封闭) 。移动互联网是 Android 平台最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时 Android 与 PC 平台存在先天的基因联系,可以很好的实现与 PC 设备的信息互享,更容易获得用户的广泛认可。至于 iPhone,它只是苹果公司的封闭平台,用户无法在 iPhone 中自行安装应用,所有的东西都应该苹果自行设计制造,从而确保利润不被第三方分享。苹果自己为 iPhone 开发了嵌入系统以及完整的应用,但它并不宣扬 iPhone 的软件设计,而是将 iPhone 作为一个包含软硬件卖点的手机产品出售。同样,苹果式的奢华与时尚让 iPhone 大获成功,以至于成为手机市场的风向标。与苹果相反,Android 则是走完全开放的道路,这种模式的巨大优点在 PC 软件领域已为业界所公认是自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。Android 平台的另外一个优势是标准化和跨平台。Android 和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。这与难于使用操作系统功能的 J2ME 相比,无疑对开发者有很大的吸引力。并且从图形应用界面的开发上面来看,Android 可以使用配置文件来描述图形控件的布局,用 Java 代码编写实际响应代码,这样方便得多。当然由于 Android 己经提供了大量现成的应用 API 和应用工具,使得常规智能手机功能的开发变得非常容易和简单。相对 iphone(ios) ,android 更便捷、快速、开放;而且能够快速发布已开发完成的app,所以整个签到系统基于 android 平台而开发。2.2 系统简介Android,是一个以 Linux 为基础的开源移动设备操作系统。该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层的架构,主要分为三部分:底层以 Linux内核工作为基础,由 C 语言开发,只提供基本功能;中间层包括函数库 Library 和虚拟机Virtual Machine,由 C+开发。最上层是各种应用软件,包括通话程序、短信程序等,应用软件则由各公司自行开发,以 Java 作为编写程序的一部分。由于 Android 和操作系统进行了紧密的整合并提供了许多 API 和工具,所以用户可以方便地使用 Android 手机。3、国内外研究现状Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。Android 操作系统最初由 Andy Rubin 开发,主要支持手机。2005 年 8 月由 Google 收购注资。2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android 系统。随后 Google 以 Apache 开源许可证的授权方式,发布了 Android 的源代码。第一部 Android 智能手机发布于 2008 年 10 月。Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012 年 11 月数据显示,Android 占据全球智能手机操作系统市场 76%的份额,中国市场占有率为 90%。2013 年 09 月 24 日谷歌开发的操作系统Android 在迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。随着 Android 手机的普及和智能手机的快速发展,并且国内外互联网时代的推动,越来越多的企事业单位都走在了移动办公的道路上,移动办公,即通过手机进行相关事务的处理和审批,移动互联网给我们带来了很多便利,如通过支付宝进行支付,不再是传统的现金支付和 POS 支付;公司相关工作流程都转移到了手机上,实现远程高效办公。与传统签到方式对比,互联网的推动,手机签到更加高效、便捷、准确;减少很大的人工投入,与时俱进。4拟解决的主要问题第一,掌握 Android 应用软件,即 Android app 的开发技术与技巧;进行快速功能迭代和更新第二,整个签到管理系统的框架设计,使其适用于多种场景,如学生签到,上班签到,活动节目签到等等;让系统能够通过动态设置,以适应不同场景和使用范围第三,系统三大模块的开发和设计,两大模块为:android 应用软件、后台功能服务。android 应用软件,即手机签到软件;后台功能服务,即签到数据采集及统计分析功能。 5研究思路与研究方法5.1 研究思路按照 Android 应用软件 app 开发的软件工程规范、方法、技巧进行 Android App 开发按照标准的软件开发流程及方法,对后台及管理网站进行开发设计按照软件开发设计思路,对整个平台进行功能需求分析及框架设计5.2 研究方法5.2.1 文献研究法文献研究法是学位论文的基本研究方法。本文通过对高校教育信息化相关文献的查阅、整理和分析,总结前人在该领域的研究成果和不足,奠定本文的理论研究基础。5.2.2 实证研究法实证研究法是本文使用的主要方法。通过项目亲身实践开发,掌握第一手数据,发现项目开发实施过程中的问题。6.研究的重点和难点6.1 研究的重点本论文是基于 android 平台的手机签到管理系统,可将整个系统分为三大组成部分:android 应用软件、后台服务、后台管理网站android 应用软件按照功能模块可分为:普通用户功能模块、管理员功能模块、签到功能模块、权限管理模块、数据查看功能模块后台服务按照功能模块可分为:签到功能模块、用户登录模块、数据查询模块6.2 研究的难点研究过程中的难点在于数据库建模和数据库设计、Android app 快速的迭代开发、签到数据的有效性对比。所有的用户数据及签到相关数据,必须通过一定的数据模型关联起来,进行可靠的数据库建模,存储有用的数据,其相关的逻辑结构、数据结构、数据类型等等,必须通过详细设计,保证数据库建模的正确性和可靠性。android app 讲究的是快速迭代,发现问题立刻解决,同时必须保证签到数据的准确性和有效性,防止用户伪造。7研究框架1、绪论1.1 背景在我们日常生活中,学生上课由老师进行点名考勤,参加工作后工作单位有打卡或者按指纹出勤考勤系统,参加某项活动需要纸质签到;在学习、工作、活动等等,考勤/签到管理系统是必不可缺少的。目前企事业单位对员工的考勤管理,基本上都是采用传统的打卡、指纹识别等被动考勤制度, 而对位于高层写字楼(特别是电梯资源又比较紧张的)的企业员工常会因为等电梯而迟到几分钟。而且现有考勤系统已经不能满足客户的各种需求了,原因如下: (1 )现有系统 RS485 型居多,它布线麻烦、施工工期长、网络不稳定、系统总费用高昂、后期网络维护和更改困难。(2 )系统功能单一,需要安装考勤系统、数据采集系统、工控监测几套系统,才能满足考勤门禁收费、生产数据采集、生产设备监测等需要。(3 )系统不灵活,客户的需求需要提交到系统制造商那里进行个性化定制,造成客户、供应商陷入频繁的功能定制的漩涡里现代社会,随着计算机技术和网络通信技术的不断发展和迅速崛起我们的生产生活方式也发生了巨大的变化。特别是智能手机的快速发展和互联网时代的到来,同时由计算机设计的一些软件和系统为我们的生活提供了许多方便,从而也代替了一些较复杂的手工程序。基于这种思想,本文设计实现了一个基于 Android 平台的手机签到系统。相比于传统的签到方式如教师点名签到方式,利用手机 GPS 定位发送位置进行签到既可以节省时间,又解决了代签的问题,既方便又快捷,也提高了管理质量,能够准确反映出勤情况。1.2 开发平台选择当今时代我们使用的智能手机系统平台不是 android 即是 iphone(ios) ,两大平台的对比,最显著的区别在于:android 开放,而 iphone(封闭) 。移动互联网是 Android 平台最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时 Android 与 PC 平台存在先天的基因联系,可以很好的实现与 PC 设备的信息互享,更容易获得用户的广泛认可。至于 iPhone,它只是苹果公司的封闭平台,用户无法在 iPhone 中自行安装应用,所有的东西都应该苹果自行设计制造,从而确保利润不被第三方分享。苹果自己为 iPhone 开发了嵌入系统以及完整的应用,但它并不宣扬 iPhone 的软件设计,而是将 iPhone 作为一个包含软硬件卖点的手机产品出售。同样,苹果式的奢华与时尚让 iPhone 大获成功,以至于成为手机市场的风向标。与苹果相反,Android 则是走完全开放的道路,这种模式的巨大优点在 PC 软件领域已为业界所公认是自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。Android 平台的另外一个优势是标准化和跨平台。Android 和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。这与难于使用操作系统功能的 J2ME 相比,无疑对开发者有很大的吸引力。并且从图形应用界面的开发上面来看,Android 可以使用配置文件来描述图形控件的布局,用 Java 代码编写实际响应代码,这样方便得多。当然由于 Android 己经提供了大量现成的应用 API 和应用工具,使得常规智能手机功能的开发变得非常容易和简单。相对 iphone(ios) ,android 更便捷、快速、开放;而且能够快速发布已开发完成的 app,所以整个签到系统基于 android 平台而开发。2、 android 构架分析Android 其本质就是在标准的 Linux 系统上增加了 Java 虚拟机 Dalvik,并在 Dalvik 虚拟机上搭建了一个 JAVA 的 application framework,所有的应用程序都是基于 JAVA 的application framework 之上。Android 主要应用于 ARM 平台,但不仅限于 ARM,通过编译控制,在 X86、MAC 等体系结构的机器上同样可以运行。android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 linux 核心层。蓝色的代表 java 程序,黄色的代码为运行 JAVA 程序而实现的虚拟机,绿色部分为 C/C+语言编写的程序库,红色的代码内核(linux 内核+driver) 。在 Application Framework 之下,由 C/C+的程序库组成,通过 JNI 完成从 JAVA 到 C 的调用。1) 应用程序所有的应用程序都是使用 JAVA 语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以 Activity 类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。利用 JAVA 的跨平台性质,基于 Android 框架开发的应用程序可以不用编译运行于任何一台安装有 android 系统的平台,这点正是 Android 的精髓所在。2) 应用程序框架应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制) 。帮助程序员快速的开发程序,并且该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括:a.丰富而又可扩展的视图(Views) ,可以用来构建应用程序, 它包括列表(lists) ,网格(grids) ,文本框(text boxes) ,按钮(buttons) ,甚至可嵌入的 web 浏览器。b.内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库) ,或者共享它们自己的数据。c.资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layout files) 。d.通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信息。e.活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。3) 系统运行库a)程序库Android 包含一些 C/C+库,这些库能被 Android 系统中不同的组件使用。它们通过Android 应用程序框架为开发者提供服务。以下是一些核心库:Bionic 系统 C 库。媒体库,基于 PacketVideo OpenCORE。Surface Manager 顾名思义,用于管理 Surface。Webkit,LibWebCore 浏览器,基于 Webkit 引擎。SGL 底层的 2D 图形引擎3D libraries 基于 OpenGL ES 1.0 APIs 实现FreeType 位图(bitmap)和矢量( vector)字体显示。SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。b)Android 运行库Android 包括了一个核心库,该核心库提供了 JAVA 编程语言核心库的大多数功能。每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik 虚拟机执行(.dex)的Dalvik 可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由 JAVA 编译器编译,然后通过 SDK 中的 “dx“ 工具转化成.dex 格式由虚拟机执行。Dalvik 虚拟机依赖于 linux 内核的一些功能,比如线程机制和底层内存管理机制。4) Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核 ,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。3、技术介绍3.1 Java Java 是一门面向对象编程语言,不仅吸收了 C+语言的各种优点,还摒弃了 C+里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java 可以编写桌面应用程序、Web 应用程序、分布式系统和嵌入式系统应用程序等。3.2 HTTP 协议超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。1960 年美国人 Ted Nelson 构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了 HTTP 超文本传输协议标准架构的发展根基。Ted Nelson 组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的 RFC,其中著名的 RFC 2616 定义了 HTTP 1.1。3.4 sql server 数据库3.3 web apiWeb API 是网络应用程序接口。包含了广泛的功能,其中的大部分均可以通过API(应用程序编程接口)访问。4、签到管理系统软件实现开发一个基于 Android 平台的手机签到管理系统。该系统软件可以通过验证用户点击签到功能,根据系统服务时间和 GPS 定位来实现签到、签出。通过人员信息的预录入,可以将人员的姓名、身份证号、头像等相关信息进行关联,并且可以修改信息,管理员可以设置签到配置,如每周需要签到的日期、签到的有效时间等等,每个登录人员可以通过点击签到记录来查看每天的签到详细信息。开发环境:Android SDK 4.4.4开发平台:Eclipse开发语言:java后台开发:C#、.NET web api4.1 需求分析签到管理系统软件主要应完成以下七种功能:1) 登录功能登录功能进行用户身份认证,验证用户是否存在,账号和密码是否匹配。由手机app 客户端将账号和密码通过一定的安全机制通过网络访问服务器,服务器进行数据库查询对比,如匹配则用户登录成功,并且分配认证口令 token,以便日后免登陆;如不匹配则返回错误信息提示,并在手机 app 前端显示给用户。2) 签到功能签到功能的实现,根据手机 GPS 定位和签到时间进行判断,服务器已预设好签到设置的情况下,手机把用户及 GPS 定位信息发送到服务器,服务器根据用户名、GPS 定位、服务器时间进行对比;若符合设定好的签到条件,则提示签到成功,否则提示签到失败。3) 签出(签离)功能签出(签离)功能的实现,与签到功能逻辑类似;根据用户名、GPS 定位、服务器自身时间和签出(签离)规定的时间进行对比,如符合则签出(签离)成功,否则进行警告,并且在后台服务数据库做记录,记录异常签出情况。4) 人员信息录入功能人员信息录入功能就是将用户的姓名、身份证、编号(学生号/员工编号) 、类型、头像等人员相关信息上传到服务器进行预登记。也可用户通过手机 app 进行注册验证,由后台服务进行匹配对比。5) 签到信息查询功能签到信息查询功能即每个人都可以通过手机 app 查看每天签到的记录,包括签到/签出时间和地点、异常情况信息;让用户详细掌握每天的签到/签出记录。6) 时间设置时间设置,即管理人员可以通过手机 app 客户端进行签出签离时间界限的设定,通常为每周设定、每月设定、工作日设定及特殊日期设定。7) 管理员设置管理员设置功能实现,即设置哪些用户为管理员,具备哪些高级权限。4.2 框架设计基于 Android 平台的手机签到系统是以 Android app 为主体,并结合后台服务功能和数据库而开发设计的。其框架为 APP、web api、sqlserver 数据库。Android APP 作为整个手机签到系统的主题,并且为使用者前端客户端。Web api 即手机签到系统的后台服务,为 app 提供业务逻辑接口,并将数据保存到数据库中。Sqlserver 即数据库,所有数据的存储和读取。手机签到系统主要流程如下:开始是否到达签到地点是否已登录登录采集 G P S 并进行签到 / 签出后台进行逻辑判断是否有效签到 / 签出签到 / 签出完成否是是否是否1) 当用户打开 APP 时,先登录自己的账号2) 登录成功后,当用户到达签到/签出的地点,使用 APP 的签到/签出功能3) 手机采集 GPS 定位,并向服务器发送相关数据4) 服务器进行相关逻辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论