基于Android平台的签到管理系统.docx

上传人:b****3 文档编号:4898164 上传时间:2023-05-07 格式:DOCX 页数:44 大小:782.70KB
下载 相关 举报
基于Android平台的签到管理系统.docx_第1页
第1页 / 共44页
基于Android平台的签到管理系统.docx_第2页
第2页 / 共44页
基于Android平台的签到管理系统.docx_第3页
第3页 / 共44页
基于Android平台的签到管理系统.docx_第4页
第4页 / 共44页
基于Android平台的签到管理系统.docx_第5页
第5页 / 共44页
基于Android平台的签到管理系统.docx_第6页
第6页 / 共44页
基于Android平台的签到管理系统.docx_第7页
第7页 / 共44页
基于Android平台的签到管理系统.docx_第8页
第8页 / 共44页
基于Android平台的签到管理系统.docx_第9页
第9页 / 共44页
基于Android平台的签到管理系统.docx_第10页
第10页 / 共44页
基于Android平台的签到管理系统.docx_第11页
第11页 / 共44页
基于Android平台的签到管理系统.docx_第12页
第12页 / 共44页
基于Android平台的签到管理系统.docx_第13页
第13页 / 共44页
基于Android平台的签到管理系统.docx_第14页
第14页 / 共44页
基于Android平台的签到管理系统.docx_第15页
第15页 / 共44页
基于Android平台的签到管理系统.docx_第16页
第16页 / 共44页
基于Android平台的签到管理系统.docx_第17页
第17页 / 共44页
基于Android平台的签到管理系统.docx_第18页
第18页 / 共44页
基于Android平台的签到管理系统.docx_第19页
第19页 / 共44页
基于Android平台的签到管理系统.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Android平台的签到管理系统.docx

《基于Android平台的签到管理系统.docx》由会员分享,可在线阅读,更多相关《基于Android平台的签到管理系统.docx(44页珍藏版)》请在冰点文库上搜索。

基于Android平台的签到管理系统.docx

基于Android平台的签到管理系统

摘要

随着移动通信技术和网络技术的迅速发展,手机系统发生了巨大的变化,从进行简单通话功能的非智能手机到现在集上网、聊天、收发邮件、视频电话会议等各种服务与娱乐为一身的智能手机系统。

由Google公司牵头众多实力雄厚的软硬件厂商加盟成立了OMS联盟,并推出的Android平台手机系统。

作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景。

本文正是基于Android平台开发的手机签到管理软件。

首先,本文对Android的背景和目前应用的PalmOS、Symbian、WindowsMobile和Linux等智能手机操作系统进行了简单的分析和对比。

对开发本软件所基于的Android平台进行分析。

介绍了Android平台的体系结构、平台的功能特征。

同时对本文开发过程中用到的相关技术进行介绍分析。

其次,对基于Android平台手机签到管理系统进行了需求分析与设计,包括系统功能需求分析、系统用例分析及用户界面需求分析。

同时,对系统进行了设计。

在设计时,首先对系统进行整体的层次结构化设计,然后对系统各个模块进行了详细的设计,包括类设计及用户界面设计。

再次,对基于Android平台手机签到管理系统进行了系统实现。

关键词:

Android;Java;WIFI;Intent;布局

Abstract

Withthedevelopmentofmobilecommunicationtechnologyandnetworktechnology,greatchangeshavetakenplaceonthemobilephonesystem.TheoriginalmobilephoneonlyhasthefunctionsofcommunicationandSmartphonehasthefunctionsofinternet,chat,videoconferencingandotherservicesandentertainment.AndroidmobilephoneplatformwhichwasdevelopedbyGoogleCompanyandmanyequipmentmanufacturersofhardwareandsoftwarevendors,astheeraofneonatalhasauniqueadvantageandprospectsfordevelopment.Firstly,itgivesabrieflyintroduceaboutthebackgroundofAndroidSmartphoneSystemandotherSmartphoneSystemsuchasPalmOS,Symbian,WindowsMobileandLinuxetc.AnalysistheAndroidplatformonwhichthistextwasdeveloped.ThistextintroducestheAndroidplatformarchitecture,platformfunctionalcharacteristicsandtherelevanttechnologywhichareusedinthetext.Secondly,therequirementanalysisandsystemaboutthemobilegraphicseditingsystembasedonAndroidplatformincludinguse-caseanalysis,userUIanalysis.

Keywords:

Android;Java;MobilePhoneWIFI;Intent;Layout

第1章绪论

1.1课题背景

目前企事业单位对员工的考勤管理,基本上都是采用传统的打卡、指纹识别等被动考勤制度,而对位于高层写字楼(特别是电梯资源又比较紧张的)的企业员工常会因为等电梯而迟到几分钟。

而且现有考勤系统已经不能满足客户的各种需求了,原因如下:

(1)现有系统RS485型居多,它布线麻烦、施工工期长、网络不稳定、系统总费用高昂、后期网络维护和更改困难。

(2)系统功能单一,需要安装考勤系统、数据采集系统、工控监测几套系统,才能满足考勤门禁收费、生产数据采集、生产设备监测等需要。

(3)系统不灵活,客户的需求需要提交到系统制造商那里进行个性化定制,造成客户、供应商陷入频繁的功能定制的漩涡里。

因此开发一个基于Android平台利用WIFI考勤系统尤为重要。

WIFI无线实时考勤系统具有强大的兼容性和功能扩展性,实现动态考勤,弥补目前考勤系统的缺陷;让考勤更智能、更人性。

本课题的目的在于掌握Android手机应用开发技术设计制作一款动态考勤系统。

本系统以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,完成在Android平台上运行基于WIFI的签到管理软件,形成一款具有考勤等功能的手机应用软件。

本课题的意义在于开发一个基于Android平台的手机签到管理软件开发。

该软件可以通过验证用户点击的AP,根据系统服务时间来实现签到、签出,人员信息录入可以将人员姓名、性别、身份证号、头像上传到服务器,可以根据道路实时状况信息拍照上传到服务器,管理员可以设置签到的AP,每个登录人员可以通过点击签到记录来查看签到、签出的时间。

 

1.2开发平台选择

首先看一下Symbian,它存在着以下的致命不足,Symbian是由摩托罗拉、西门子、诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司(现已被诺基亚全额收购),专门研发手机操作系统,目前Symbian较成熟,。

而Symbian操作系统的前身是EPOC,EPOC是ElectronicPieceofCheese的简写,其原意为“使用电子产品可以像吃乳酪一样简单”,这就是它在设计时所坚持的理念。

Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用。

另外它是一个标准化的开放式平台,任何人都可以为支持Symbian的设备开发软件。

SymbianOS在市场份额上占绝对优势,不过在开发者数量上却并不占优势,目前Symbian程序员仅仅只有5万余人,与极为庞大的用户群体不成比例。

而且它致命不足是基本上还带有浓厚的保守色彩,应用软件与我们日常的PC软件有较大的理念差异,再者Symbian与互联网的结合给人感觉仍不够紧密,互联网应用更多只是作为陪衬存在。

Android平台与此相反,移动互联网是它最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时Android与PC平台存在先天的基因联系,可以很好的实现与PC设备的信息互享,更容易获得用户的广泛认可。

与Android拥有相同属性的还有微软的Windowsmobile。

至于iPhone,它只是苹果公司的封闭平台,用户无法在iPhone中自行安装应用,所有的东西都应该苹果自行设计制造,从而确保利润不被第三方分享。

苹果自己为iPhone开发了嵌入系统以及完整的应用,但它并不宣扬iPhone的软件设计,而是将iPhone作为一个包含软硬件卖点的手机产品出售。

同样,苹果式的奢华与时尚让iPhone大获成功,以至于成为手机市场的风向标。

与苹果相反,Android则是走完全开放的道路,这种模式的巨大优点在PC软件领域已为业界所公认是自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。

Android平台的另外一个优势是标准化和跨平台。

Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。

这与难于使用操作系统功能的J2ME相比,无疑对开发者有很大的吸引力。

并且从图形应用界面的开发上面来看,Android可以使用配置文件来描述图形控件的布局,用Java代码编写实际响应代码,这样方便得多。

当然由于Android己经提供了大量现成的应用API和应用工具,使得常规智能手机功能的开发变得非常容易和简单。

第2章

Android架构分析

Android是基于Linux内核的软件平台的软件和操作系统,采用了软件堆层(SoftwareStack)的架构。

由下而上,Android平台的底层是Linux2.6内核,硬件和其他软件堆层之间是一个抽象隔离层,向上搭配Google,为Android开发的类库及Android运行时再配合应用程序架构,来开发各种不同的应用程序。

2.1Android功能特征

(1)应用程序架构:

在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。

(2)Dalvik虚拟机器:

在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

(3)集成的浏览器:

集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。

WedKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有,Safari,Midori,Epiphany等。

配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:

局部性的缩放网页上的资讯、触控式的操作等效果。

(4)优化的绘图能力:

在程序里可以用到的绘图功能分为2D与3D两个方面。

在2D方面,Android提供了一套特有的类库SGL,而在3D方面则是使用OpenGLES1.0(openGLforEmbeddedsystems)规范的类库。

它们是一种非常快的图形引擎,并且支持硬件加速。

(5)SQLite数据库:

SQLite提供结构化的数据存取。

SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。

它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。

它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。

它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。

同时它还支持事务功能和并发处理等等。

SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

(6)多媒体的支持能力:

主要用于播放媒体文件。

这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:

URI即是统一资源识别地址)模式—在网络上直接播放的流媒体。

另外支持各种通用的静态图像格式,例如:

JPG、PNG、GIF等格式。

(7)GSM技术:

GlobalSystemforMobileCommunications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。

GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

(8)蓝牙、EDGE、3G及Wi-Fi:

蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。

EDGE(EnhancedDataRateforGSM,Evolution),即增强型数据速率GSM演进技术。

EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。

由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。

Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。

该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。

其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。

这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

(9)GPS:

GlobalPositioningSystem,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。

这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。

这项技术可以用来引导飞机、船舶、车辆以及个人。

这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。

2.2Android体系结构

Android是基于Linux内核的软件平台的软件和操作系统,采用了软件堆层(SoftwareStack)的架构,共分四层,由高到底:

第1层是应用程序层,提供了一系列核心应用程序;第2层是应用程序框架层,提供了Android平台基本的管理功能的组件征用机制;第3层是系统运行库层,由函数库和Android运行时构成;第4层是Linux内核,提供由操作系统内核管理管理的底层基础功能,如图2.1所示。

2.2.1应用程序层

应用是用Java语言编写的运行在虚拟机上的程序,如图2.1中最上层部分所示。

其实,Google最开始时就在Android系统中捆绑了一些核心应用,比如E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等等。

2.2.2应用程序框架层

在AndroidSDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架,这是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。

但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。

目前所有的应用程序是由服务及系统来组成,包含有:

(l)一套强大和可扩展的视图系统:

用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。

(2)内容提供者:

使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的数据。

(3)资源管理器:

提供各种非程序代码的资源让应用程序去使用。

例如:

本字符串、图形文件或排版相关的布局文件。

(4)通知管理器:

提供应用程序在状态栏中显示应用程序自定义的提示信息。

(5)活动管理器:

管理所有应用程序的生命周期及提供常用的导航回退功能。

例如:

启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。

(6)视窗管理器:

用来管理所有启动程序的视窗。

(7)位置管理器:

用来管理地图服务的相关功能。

(8)电话管理器:

用来管理用户拨打与接听电话的相关功能。

(9)包管理器:

管理所有安装在Android系统内的包。

2.2.3系统运行库(C/C++库以及Android运行库)层

在Android中包含一些C/C++的类库,这些类库能被Android系统中不同的组件来使用。

开发者可以通过应用程序框架使用这些功能。

部分核心类库列表如下:

(1)surfaceManager:

主要的功能是让开发者可以去存取/显示系统及管理的功能,在[显示]与[存取操作]间的对应、互动以及实现无接缝的2D/3D多应用程序之间的整合。

例如:

在2D、2D显示上的合成、叠合动作。

(2)3Dlibraries:

主要是依openGLES1.0规范所定义的3D绘图引擎。

该库使用硬件加速(当硬件可用时),可以将硬件的3D功能做最佳化的处理显示。

(3)SGL:

主要是处理有关显示2D方面的绘图引擎。

(4)MediaFramework:

主要是以packetVideo公司的OpenCORE为基础所发展的多媒体类库,该库支持回放和录制大量流行的音视频格式和静态图片。

例如:

MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等格式

(5)FreeType:

主要是用来显示点阵图和处理向量字形的。

(6)SSL:

(secureSocketsuyer),中文名为“安全套接层协议层”,它是网景公司提出的基于WEB应用的安全协议,当前版本为3.0。

SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议位于TCP胆协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL协议可分为两层:

SSL记录协议(SSLRecordProtocol):

它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSLHandshakeprotocol):

它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议提供的服务主要有:

①认证用户和服务器,确保数据发送到正确的客户机和服务器;

②加密数据以防止数据中途被窃取;

③维护数据的完整性,确保数据在传输过程中不被改变。

(7)SQLite:

SQLite是一套开放性的关联式资料库,能够被所有应用程序使用的轻量级的关系数据库引擎。

(8)webKit:

是一个先进的网页浏览器引擎,被用来构建Android浏览器和内嵌的web视图,也可以让开发者利用这个引擎来做不同的应用。

(9)libc:

就是一个BSD标准C类库。

但是,针对Linux嵌入式装置进行过最佳化的调整。

2.2.4Linux内核层

Android的核心系统服务基于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。

2.3Android应用构成和工作机制

对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。

在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。

这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。

Android应用的构成和工作流程如图2.2

第3章

签到管理软件设计实现

开发一个基于Android平台的手机签到管理软件开发。

该软件可以通过验证用户点击的AP,根据系统服务时间来实现签到、签出,人员信息录入可以将人员姓名、性别、身份证号、头像上传到服务器,可以根据道路实时状况信息拍照上传到服务器,管理员可以设置签到的AP,每个登录人员可以通过点击签到记录来查看签到、签出的时间。

开发环境:

AndroidSDK4.0

开发平台:

Eclipse

开发语言:

Java

3.1古盾签到功能需求分析

签到管理系统应该能完成七种功能包括登录功能,签到、签离功能,人员信息录入功能及实景信息上传功能,AP设置,时间设置。

(1)登录功能进行身份的验证。

手机客户端把账号和密码通过网路传递给服务器,有服务器进行数据库查询,如若账号和密码匹配,则将用户信息和数据库内容传递到手机端,不匹配则返回错误信息提示错误。

(2)签到功能的实现,判断是否在签到时间,是否已经覆盖AP,是否已经设置AP。

若全部设定,则提示签到成功,若不在签离时间则提示不在签到时间,若没有置

AP则提示请管理员设置AP。

(3)签离功能的实现,判断是否在签离时间,是否已经覆盖AP,是否已经设置AP。

若全部设定,则提示签离成功,若不在签离时间则提示不在签离时间,若

没有置AP则提示请管理员设置AP。

(4)实景信息上传功能是调用系统相机拍照后进入实时信息上传界面,填写路况信息,照片信息,道路信息不能为空。

(5)人员信息录入功能是填写姓名,性别,身份证号,头像选择并进行上传。

(6)AP设置功能,首先判断WIFI是否打开,如果没有打开则打开WIFI,向服务器发送请求,如果获取WIFI列表,与当前WIFI列表对比,如果已存在则提示当前地区已设置AP,否则再次发送AP设置请求,若服务器返回成功,则提示AP设置成功。

(7)时间设置功能,可以设置签到签离的时间。

时间设置时实行24小时制。

3.2古盾签到管理功能架构图

程序运行流程如图3.1所示,首先用户登录,进入主界面,可以实现签到管理、

签离管理、实时状况管理、人员信息录入、AP设置、时间设置、签到记录。

 

 

图3.1古盾签到管理功能流程图

3.3古盾签到管理程序核心技术

(1)WIFI的BSSID和SSID获取,BSSID作为签到、签离功能实现的唯一标识。

SSID表示一个子网的名字,无线路由通过这个名字可以为其它设备标识这个无线路由的子网。

设备进行扫描的时候,就会将相应SSID扫描到,然后就能够选择相应的SSID连接到相应的无线网络(当然不扫描,理论上也可以直接指定自己事先已经知道的SSID进行连接)。

SSID可以和其它的重复,这样扫描的时候会看到两个同样SSID的无线网络,其实这一般用于将一个无线网络扩大的情况(毕竟无线路由器无线信号的覆盖范围是有线的):

当想要扩大一个无线网络(即SSID固定)的范围的时候,可以给多个路由设置相同的SSID来达到这个目的。

SSID和BSSID不一定一一对应,一个BSSID在不同的Channel上面可能会对应到多个SSID,但是它们在一个Channel是一一对应的;另外,漫游的时候,虽然SSID不变,但是BSSID一定是会变化的。

我们经常可以看到实际数据包中的AP的MAC地址和BSSID只差几位,其实实际设备的MAC地址可能只有一个,和BSSID没什么对应关系。

在一个包含了路由功能和AP功能的无线路由器(FatAP)上面,很可能是:

路由器有两个MAC地址,一个用于外网(WAN),一个用于内网(WLAN和LAN),一般路由器上面或者配置路由器的网页上面只标注外网的MAC地址,内网的MAC地址和外网MAC地址一般只有几位不同(甚至连续,也有些相差很多的例外)。

所以签到显示的是SSID,和唯一识别码是BSSID。

(2)HTTP协议实现客户端与服务器的连接。

HTTP是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种协议。

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。

从建立连接到关闭连接的过程称为“一次连接”。

在HTTP1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。

在HTTP1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

(3)Activity之间信息传递。

Android为了屏蔽进程的概念,利用不同的组件来表示进程之间的通信。

组件间通信的核心机制是Intent,通过Intent可以开启一个Activity或Service,不

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2