《(备份)基于安卓平台的移动税务oa系统的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
学校编码:10384学号:X2011231050IIIIIIIIIIIIIIIIIIIWF2812600密级UDC■__1Y2443550工程硕士学位论文基于安卓平台的移动税务OA系统的设计和实现DesignandImplementationofTaxationMobileOASystemBasedonAndroidPlatform龙婷指导教师:陈:每山教.授专业名称:软件X程论文提交日期:2013年10月论文答辩时间:2013年11月学位授予曰期:2013年11月2013年10月 厦门大学学位论文原创性声明本人呈交的学位论文是本人在导师指导下,独立完成的研究成果。本人在论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,并符合法律规范和《厦门大学研究生学术活动规范(试行)》。另外,该学位论文为()课题(组)的研究成果,获得()课题(组)经费或实验室的资助,在()实验室完成。(请在以上括号内填写课题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特别声明。)声明人(签名錢M'b年II月丨p曰 厦门大学雜攸著純棚祠I11UII111本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》等规定保留和使用此学位论文,并向主管部门或其指定机构送交学位论文(包括纸质版和电子版),允许学位论文进入厦门大学图书馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。本学位论文属于:()1.经厦门大学保密委员会审查核定的保密学位论文,于年月日解密,解密后适用上述授权。(J)2.不保密,适用上述授权。(请在以上相应括号内打“V”或填上相应内容。保密学位论文应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认为公开学位论文,均适用上述授权。)声明人(签名):瑪年丨丨月如日 摘要依托现代无线网应用技术,昆明市地税局及其下属税务部门扩展升级了现有税务办公系统,可以使税务人员通过智能手机等基于安卓移动终端通过互联网轻松访问税务办公系统,实现昆明市地税局内部办公流程管理、文档管理、个人办公、信息中心及昆明市地税局通讯录管理等各项工作的自动化,网络化与实时化。同时,有效解决昆明市地税局内部信息快速传递的问题,改善昆明市地税局沟通方式。这样,利用智能手机等移动终端就可以实现随时随地公文处理、信息通知、信息存储、协同工作以及决策支持,也实现了纳税人、昆明市地税局之间的信息互动,使纳税人可以很方便地查询税务信息和进行纳税计算。本论文综合运用了面向对象的分析和设计方法,以安卓移动终端作为税务0A系统主要平台,完成了需求分析,总体概要及详细设计,编码等工作。需求分析以用例分析为主,形成了详细的需求规格说明书。然后,通过对象建模,职责划分,模块划分进行系统设计,特别利用MVC模式进行系统架构设计,并且形成完整的设计文档。接下来,在模拟器配合真正的移动终端即智能手机上,实现了各个功能模块,并且获得了良好的运行效果。通过该移动0A系统的使用,综合提高了昆明市地税局运作效率,降低了管理成本,提升了管理水平。关键词:安卓平台;0A系统;移动终端 AbstractRelyingonthemodemwirelessnetworkapplicationtechnology,Kunmingtaxbureauanditssubordinatedepartmentsupgradetheexistingtaxofficesystem.ItcanmakethetaxpersonnelthroughintelligentmobileterminalbasedonAndroidaccessthetaxofficesystemeasilyviatheInternet,whichrealizesautomation,networkingandrealtimeofworkflowmanagement,documentmanagement,personaloffice,informationcenterandmaillistmanagement.Atthesametime,theOA(OfficeAutomation)systemsolvetheproblemofrapidtransferofinternalinformationofKunminglocaltaxbureaueffectively,andimprovethecommunicationofKunmingLocalTaxationBureau.Therefore,usingtheintelligentmobilephoneandothermobileterminalcanrealizewheneverandwhereverdocumentprocessing,informationnotification,informationstorage,collaborativeworkanddecisionsupport.ItalsorealizesinformationinteractionbetweenthetaxpayersandKunmingLocalTaxationBureau,whichmakesthetaxpayer,caneasilyquerythetaxinformationandassesstaxpayment.Inthisdissertation^themobileterminalsbasedontheAndroidareregardedasOAsystemplatform.ItcompletestherequirementanalysisofOAsystem,summaryanddetaileddesignandcodetorealizethevariousfunctions.Thedissertationcomprehensivelyuseobjectorientedanalysis(OOA)anddesign(OOD)method,executecasesanalysis,submitadetailedspecificationofthesoftware,andcarryonobjectmodeling,systemresponsibilitydivision,moduledivisiontorealizesystemdesign,especiallyMVCpatternisusedtodesignsystemarchitecture.Inthisway,weformdesigndocumentscompletely.Theninthesimulatorofthemobileterminalandrealsmartmobilephone,thesystemrealizesallfunctionalmodules,andachievegoodoperatingresults.ThroughthepracticaluseofthemobiletaxOAsystem,itcomprehensiveimprovestheKunmingLocalTaxationBureauworkefficiency,reducesmanagementcosts,andimprovesthemanagement. Keywords:AndroidPlatform;OfficeAutomationSystem;MobileTerminal 目录第1章绪论11.1课题研究背景和意义11.1.1研究背景31.1.2研究意义31.2国内外研究现状51.2.1国外研究现状51.2.2国内研究现状61.3论文研究内容和组织结构71.3.1研究容71.3.2研究方法81.3.3组织结构8第2章系统相关技术102.1Android系统简介102.1.1Android的系统架构112.1.2Android应用程序类型122.1.3Android活动的生命周期142.2Android与服务器端的数据交互172.3XML技术介绍202.4本章小结22第3章系统分析233.1可行性分析233.2需求分析243.2.1软件工程开发方法选择253.2.2用例分析263.2.3系统的非功能性需求32 3.3本章小结33第4章系统设计344.1系统设计概述344.1.1系统设计目标344.1.2系统设计原则344.1.3系统设计模式选择344.2系统架构设计354.2.1硬件组网354.2.2软件架构设计364.3系统详细设计394.3.1系统建模设计394.3.2数据库设计424.4本章小结57第5章系统实现585.1系统登录模块585.2个人办公585.3公文处理615.4625.4.1登录模块测试625.4.2个人办公模块测试635.4.3公文处理模块测试665.5本章小结66第6章总结与展望676.1^676.2醒67##诚69舰71 ContentsChapter1Introduction11.1ResearchBackgroundandSignificance11.1.1ResearchBackground31.1.2ResearchSignificance31.2ResearchStatusatHomeandAbroad51.2.1ResearchStatusAbroad51.2.2ResearchStatusinChina6ResearchContentsandStructuresoftheDissertation71.3.1ResearchContents71.3.2ResearchMethods81.3.3OutlineoftheDissertation8Chapter2RelatedSystemTechnologies102.1AndroidPlatform102.1.1ArchitectureofAndroid112.1.2ApplicationTypeofAndroid122.1.3TheLifeCycleofAndroidActivity142.2DataExchangeBetweenAndroidandtheServer172.3XMLTechnology202.4Summary22Chapter3SystemAnalysis233.1FeasibilityAnalysis233.2RequirementAnalysis243.2.1TheDevelopmentofMethod253.2.2UseCaseAnalysis263.2.3NonFunctionalRequirementsoftheSystem32 3.3Summary33Chapter4SystemDesign344.1OverviewofSystemDesign344.1.1DesignObjectiveofSystem344.1.2DesignDisciplineofSystem344.1.3SelectionofPattern344.2SystemArchitectureDesign354.2.1HardwareNetwork354.2.2DesignofsoftwareArchitecture364.3DetailedSystemDesign394.3.1SystemModelingDesign394.3.2DatabaseDesign424.4Summary57Chapter5SystemImplementation585.1SystemLoginModule585.2PersonalOffice595.3DocumentPprocessing615.4SystemTesting625.4.1SystemLoginTest635.4.2PersonalOfficeTest635.4.3DocumentPprocessingTest665.5Summary66Chapter6ConclusionsandOutlook676.1Conclusions676.2Outlook.67References69Acknowledgements71 第1章绪论第1章绪论1.1课题研究背景和意义现代社会,随着科技和生产方式以及管理方式的发展,企业以及政府机关都会产生事务性的,和管理相关的,大量的文案工作,部门各种信息经过汇总,整理和分类的规范化处理后,然后提交给管理决策者,决策者再依据这些信息做出决策。传统的这些事务性的文案工作以及信息的搜集和汇总整理,分类都是由人工手工进行,部门和部门之间的信息传递由交通工具进行(传统办公模式如图1-1所示)。图1-1传统办公模式显而易见,在网络特别是互联网蓬勃发展的今天,对传统办公模式进行改革,拥有一套基于网络的,可以自动进行信息获取,信息和资料的分类以及整理的智能辅助办公系统,可以将办公人员从大量的重复性事务性的繁杂工作中解放出来,大大提髙工作效率,而且,计算机辅助处理的信息可以更加方便管理人员或决策者做出正确决策。在信息传递方面,网络已经进入千家万户,不同单位或部门即使地理位置不同,也可以很方便地通过网络交换信息,并且通过网络进行工作协调。在产业结构升级,工业化向信息化转型的今天,基于网络的办公自动化系统将是企业以及政府机构由传统办公模式进入网络化信息化办公模式的重要保证(网络化信息化办公模式如图1-2所示)。1 基于安卓平台的移动税务0A系统的设计和实现图1-2网络化办公模式自从美国军方的ARPAnet诞生以来,互联网便应运而生,随着90年代Http的产生和发展,Intemet/Intranet技术日新月异,同时Web服务也有了长足的进步,逐渐地,Intemet/Intranet成了企业和政府机构信息化的基础。基于Intemet/Intranet平台办公自动化OA系统也成为了企业和政府管理所必需的软件系统之一,它可以帮助各级管理层完成管理工作,也可以辅助决策层正确决策。办公室的工作是最繁琐,麻烦的,大量繁杂工作交由计算机处理,这些就变得简单而且自动,并且大大提高了处理繁杂事务的效率。2007年11月产生了基于Linux自由开放操作系统Android(安卓),它是一个通用的移动软件平台,研发者是Google和开发手机联盟(OHA),当然继承了Linux的开源特性,凭借跨平台、免费的优势,迅速席卷和风靡了世界。很多个人移动终端,如智能手机和平板电脑及其游戏机等,都采用了安卓系统作为移动软件平台。现在.基于安卓平台的移动终端的全球市场份额已经超过了塞班,它渗透和扩散到了生活的各个方面,无处不有,无处不在。借着无线通信技术在这几年的迅速发展这一东风,基于安卓的移动应用正在悄然改变着人们的生活,工作和娱乐方式。当然,它也可以作为便携的,移动的办公工具,所以,用于移动OA(办公自动化OfficeAutomation)也是趋势之一。2 第1章绪论1.1.1研究背景移动办公系统有获取信息的实时性,是固定办公系统不可比拟,所以可以快速做出反应,大大提高了管理决策的效率,而且可以实时实地进行管理决策。原来,当安卓移动通信平台还未成为主流时,移动办公系统主要是笔记本电脑+VPN模式,或者WAP手机,它们在使用过程中存在以下问题:1、原来的办公系统一般基于桌面台式机Windows系统开发,而移动终端是手机或PDA,这需要对开发好的办公自动化系统进行修改以能适应移动终端使用,其实相当于再次开发——因为客户端已经不是台式机,而变成了手机等很方便的移动终端。2、移动终端以及移动网络虽然已经出现了一段时间,但是未彻底解决的问题很多,比如基于互联网的各种网络,千差万别。办公软件基本基于局域网设计,所以当移动网络和办公软件相融合时,在性能上存在瓶颈,一个是基于广域网,另一个基于局域网,性能上存在很大差异。3、移动办公网络的使用,企业或政府机构的关键信息的传递都是通过互联网,如果有黑客入侵,可以通过互联网就截获这些关键信息,所以,安全性对于移动办公系统,的确是一大问题,而且非常重要,亟待解决。并且,实现信息移动传输的可靠性,保证重要数据不被丢失进行传递,也是对移动办公系统的考验。移动办公系统基于一个开放式,而非封闭式网络,安全问题,可靠性问题相当重要。以上这些问题,对企业或政府机构的管理成本,技术和安全性带来了很大压力,迫切需要一种新的,更加安全和高效的技术来解决。1.1.2研究意义第三代数字移动通信(3G)技术,它的传输速度更加快,可靠性,安全性更加高,它的产生使移动办公OA迅速发展成为了可能。随着3G网络和智能手机的广泛应用,基于移动通信的互联网大大发展,基于移动通信平台的各种应用软件以及Web服务也会大大发展,而移动办公OA正是Web应用和服务之一。与传统的手机不同,现在的智能手机已经愈来愈多地集成了原来计算机的功能,它上面也集成了各种基于移动的操作系统,并且可以安装应用软件,所以它可以提供计算机的很多功能,比如电子邮件收发,电子读物阅读,QQ聊天等丰3 基于安卓平台的移动税务0A系统的设计和实现富功能。截止2012年,我国智能手机用户已经超过8000万,并且每年还不断在快速增长,下图(图1-3)是2012年,我国各种智能手机操作系统所占的市场份额[1],可以看出安卓已经独占了手机操作系统的半壁江山,远远高于微软。安卓苹果软班微塞•AndroidAppleRI1V1丨MicrosoftSymbian图1-32012年手机操作系统市场份额图安卓基于Linux开源操作系统,所以它也基本上是开放的,这样用户可以根据自己的需求,基于安卓平台开发各种具体的应用软件和实现自己想要的功能。因为开源,所以用户可以自由定制,其可扩展性非常好,再加上它图形系统非常丰富,浏览器功能很强以及对多媒体技术的较强支持使得其应用软件的开发,功能的定制以及平台自身的更新变得非常容易方便,因此,它应该还有很大的技术发展空间和市场潜力。安卓移动操作平台由以Linux为内核的操作系统(它由C语言开发,只有操作系统的基本功能)和中间件(由操作系统底层上实现的函数库和能够加载运行各种应用软件的虚拟机VM构成)以及各种应用软件组成,这些应用软件主要以Java编写,中间代码由虚拟机加载执行,它们可以由各个软件公司,包括用户自己自行开发,形成了一个完全开放的和自由的开发和应用平台。因为大量应用软件基于安卓,当然,由Google牵头,开发手机联盟(OHA)参与开发的安卓系统,就像TCP/IP成为了互联网事实标准一样,它也有望成为移动操作系统开放平台的事实标准。在它背后,电信运营商、设备制造商,软硬件开发商在各个层面上统一了起来,因此,也驱动了一个巨大的产业。随着安卓的进一步发展,逐步形成了互联网无处不在,无时不在的格局,所以,其前途不可估4 第1章绪论基于以上讨论,移动办公0A系统以安卓为平台和基础可以说是最好的选择,殆成定局。办公自动化是一个由来已久的名词,办公是在办公室内完成的各项事务,一般由文秘或者企业白领完成,其中有很多实际上可以通过电脑或其他设备完成或者其辅助人工完成,实现自动化,这就是所谓的办公自动化。自从微软office大行其道之后,办公自动化逐渐进入了政府机构的各个部门和企业。我国在第一次全国办公自动化规划讨论会上提出了办公自动化的定义:“利用先进的科学技术,使部分办公业务活动物化于人以外的各种现代化办公设备中,由人与技术设备构成服务于某种办公业务目的人一机信息处理系统。在英文里,办公自动化称为OfficeAutomation,简称OA。”[1]在已经形成系统的桌面台式机办公自动化基础上,特别针对税务管理这种特殊的办公自动化,本论文提出了如何将办公自动化由台式机PC扩展到基于安卓的智能手机等移动办公平台上,在论文中,对于移动0A系统的开放式架构和互联网的无线互联技术进行了研究,详细阐述了移动OA系统的需求,设计,并且在这上面实现了一个基于安卓的税务管理的移动0A系统,这些研究应用性和针对性都很强,会对以后财税管理的各种系统开发有很好的实际参考价值。1.2国内外研究现状1.2.1国外研究现状国外的办公自动化(0A)应用历史较久,可以回溯到上世纪50年代,产生地自然是美国,但是因为当时技术条件限制,只能进行电子数据的一些简单处理,完成一些簿记功能。当时的计算机基本上是大型机,用于办公自动化,简直是太奢侈了,所以计算机基本没进入这一领域⑴。随着晶体管和集成电路的产生,计算机逐步走向小型化,成本降低,真正基于计算机的办公自动化才有可能成为现实,到60年代,办公自动化进入了管理信息系统(MIS)时代[1];真正将办公室各种资源整合,综合办公室各种信息技术的办公自动化实际上到70年代末,80年代初才初具规模⑴;而后来由于互联网的飞速发展,办公自动化才逐渐达到了能够将政府机构或者企业的各种信息资源整合,真正可以实现随时随地办公,政府机构和企业管理层也可以随时随地讨论和处理各种问题,做出决策⑴。5 基于安卓平台的移动税务0A系统的设计和实现国外0A应用系统经过多年的发展,已经相当成熟,总的说来,它们有以下特点:1、0A系统不仅只是办公系统,而且对于企业来说,还包括资源管理系统ERP,以及管理信息系统MIS等等全部集成在内,这样,不但实现了办公自动化,还实现各种业务流程管理以及资源管理自动化,并且可以进行决策支持。这样使单一的办公系统成为一个具备多种功能的管理平台[2,3】。2、通过大量其他系统的集成,可以获取海量数据,有了数据,就可以进行数据挖掘,分析等工作,这样就有了智能化的0A,这样,系统可以很快从浩如烟海的数据中发现趋势性或规律性的东西,这对辅助用户决策尤其重要[4]。3、国外的互联网发展较早,所以0A系统如何同互联网进行融合的探索早早就已经开始,如果没有在远程终端电脑上安装办公系统,仍然可以通过Internet办公。当然,现在随着无线网络的发展,移动终端大大普及,移动0A已成为办公系统将来发展的方向之一[5]。1.2.2国内研究现状我国的办公自动化从日本美国进口的普通复印机开始,逐步随着计算机和网络技术的发展,其概念的内涵和外延不断扩展。办公自动化系统在提高政府部门和企业管理效率,以及办公水平方面,功不可没[6]。个人计算机PC自从上世纪70年代末产生以后,80年代后进入我国,随着PC的进入,我国政府的办公自动化也开始发展起来。1985年,我国召开了第一次办公自动化规划会议,在会议上,第一次对我国的办公自动化做出了初步规划[6】。1986年5月,国务院电子振兴领导小组办公自动化专家组召开了第一次专家会议,定义了办公自动化、描述了其功能以及结构[6]。1997年,首届全国办公自动化学术研讨会召开,研究了如何更有效地利用计算机办公系统进行政府管理和提高使用效果的问题[6]。在以后的几年,电子商务、电子政务不断发展,互联网与各种系统不断融合,我国政府办公自动化水平也有了长足进步。税务部门开展的金税工程使我国的增值税征收率由21%增加到86%,征收收入也扩大了好几倍。同时,金保网整合各种保险,实现五保合一,提高了养老金的计算效率,原来核算养老金需要90天,现在一下缩短到3天,效率提高29倍。引入了电子政务系统后,政务处理6 第1章绪论进一步公开化,处理效率也大大提高[7]。随着移动通信技术发展,互联网已经从以前的有线网转变成无线网与有线网相结合。智能手机等移动数字终端作为通信平台,在上面可以进行原来需要在个人电脑PC上才能处理的商务,政务以及办公自动化。这样,实现了随时随地办公,各种信息实时发送,实时接收,有线的互联网终于发展到无线的,移动的互联网时代。广州移动通信公司利用手机移动通信网络实现了增值服务,以往各项基础设施及服务,比如交通、供电、供水、燃气天然气、环保是分立的,而移动通信增值服务将它们整合起来,可以进行现场数据实时采集,实时传输,而且可以实现移动终端实时缴费等,极大方便了广大居民[7,8]。传统电子政务需要有线互联网和PC机,现在随着移动网络的发展,移动政务应运而生,它可以既方便人民群众,又改进政府的各项职能。使政府管理者可以实时收集各种信息,并且通过决策辅助支持系统很快形成决策,实现全心全意为百姓服务,也可以创新服务模式。以前,我国的企业因为没有整体规划而办公自动化水平参差不齐,导致了各部门使用计算机进行自己的管理,数据信息很少通过网络交流,即使存在网络,也因为没有统一的数据信息交流格式而难于实现,形成了一个个的信息孤岛。随着XML技术等得发展和普及,这一现象得到了极大改善,企业的各项资源以及管理等通过网络越来越整合到一块,形成不可分割的整体[9,1()]。当然,不管是电子商务,还是电子政务以及办公自动化,其未来都是朝无线化、移动化以及智能化发展,所以,研究开发移动税务0A系统不仅是政务管理必然,而且还是迫切需要。1.3论文研究内容和组织结构1.3.1研究内容因为现在税务部门办公自动化系统(0A)的发展需要,迫切需要能够从手机或其他移动终端上能够访问互联网的移动0A系统。本文在做了大量调查研究之后,提出了基于安卓移动平台,实现一个移动税务0A系统。我们的工作主要集中在税务移动0A客户端软件的需求,设计和开发几个方面,研究内容如下:1、了解安卓系统的产生与发展,熟悉安卓平台的架构,熟悉Windows下其开发环境的搭建,以及开发软件的使用,在此基础上,就可以进行基于安卓系统7 基于安卓平台的移动税务0A系统的设计和实现的软件开发与调试。2、使用面向对象开发技术从需求开始,收集税务部门对软件的各种要求,包括功能和性能等各方面,整理分析,形成详细的需求分析。3、同样使用面向对象技术,处理需求,进行概要设计,然后进行详细设计,形成税务移动办公自动化系统的解决方案,有了详细的设计文档后,在此基础上进行实现,做出一个基于安卓的移动税务0A系统的客户端。然后,对之进行模拟测试,确保实现了客户要求的各项功能以及性能上达到了客户的要求,即移动税务0A系统的各个功能模块,用Java实现后,均在模拟器上进行测试,验证其功能需求和性能需求是否达到。在开发设计实现中可能产生很多问题,拟解决的关键技术问题如下:1、移动税务0A系统的需求收集与分析;2、在安卓系统的软件架构上,对移动税务0A系统进行设计;3、基于安卓平台实现移动税务0A系统。1.3.2研究方法首先,利用VP-UML工具进行软件的需求和设计,使用通用的UML进行建模,得出详细的需求和设计文档。在实现时,为基于安卓的移动税务0A系统搭建开发平台,以模拟器为主,必要时,直接用安卓智能手机进行开发。1.3.3组织结构本论文主要介绍了基于安卓的移动税务0A系统客户端的开发,在论文中会对涉及到的安卓技术以及软件开发的需求,设计和实现进行详细介绍和阐述。本论文的内容组织与结构安排如下,总共分为六章:第1章,绪论。阐述论文的选题依据、课题研究背景和意义,分析国内外相关课题的研究现状,描述论文的主要研究内容、研究方法和组织结构。第2章,系统相关技术。介绍系统开发技术和相关开发工具,包括安卓平台的体系架构,以及终端即客户端的用户界面设计技术,比如各种网页技术,XML技术以及各种数据传输技术等等。第3章,系统需求分析。首先进行收集需求,在调查分析基础上,建立需求分析模型,包括系统的业务、数据、功能和性能等各项需求,按需求建模出系统的各个功能模块。8 第1章绪论第4章,系统设计。描述系统设计原则、系统功能设计、输出输入设计、数据库设计和系统性能设计,基于安卓平台,使用比较常用的MVC架构模式以及三层架构,对系统进行概要设计。按照系统环境设计、系统架构设计、用户登录设计以及各个业务逻辑模块对系统进行详细设计。当然,数据库设计,特别是数据表的设计是必须要有的。第5章,系统实现。主要包括用模拟器或者安卓手机实现系统各个功能模块,并展示其运行结果。第6章,总结与展望。总结论文的主要研究工作,描述系统的主要功能、特色和应用领域,并分析论文尚未解决的问题,以及进一步的研究工作和方法。9 基于安卓平台的移动税务0A系统的设计和实现第2章系统相关技术本章首先对安卓系统作简要介绍,然后对XML(可扩展标记语言)的解析技术作了介绍,最后介绍了移动0A技术。1.1Android系统简介安卓是什么?其开源和兼容性技术负责人DanMorrill所下的定义是:“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块”,如图2-1所示。图2-1Android系统组成安卓的应用程序等几乎所有的程序或函数,其底层都是一个不但稳定,而且也不断保持更新的Linux内核。在此基础上,安卓提供各种函数库,并且它有自己的应用程序开发框架,也包括能源管理组件(这对移动终端很重要),以及Linux各种代码的扩展和各种公共组件。所有Java应用程序都是通过虚拟机加载运行,而Dalvik正是基于安卓的虚拟机,它包括一组运行环境,是Google公司针对安卓进行优化的运行环境。同时,公司也提供的基于各种平台的开发工具包。Dalvik虚拟机执行的是扩展名为.dex的文件,Java程序不能在上面立即执行,必须首先 第2章系统相关技术编译后,再经过开发工具包(SDK)中的工具进行代码转换,生成.dex格式的文件,才能由虚拟机加载执行。在图2-1中,Dalvik虚拟机有各式各样的Apps,有些是安卓的一部分,但里面也有些比如像Dialer、Contact和Chat等等,由Google提供,而且基本上是开源(OpenSourCe^[11]。1.1.1Android的系统架构安卓的体系架构从外到内,或者从上到下分别为应用层,应用框架层,系统运行库层(在其中有一个安卓运行环境)以及Linux内核层(如图2-2所示)[11’12]。•EfflS(App&stim)^HornedCmticcs^Phoaet*Brc^icrt3inr•SfflfSSSM(Fnoworle>^A^vitvMaaasaf-^WindowKianager^ContentProvidars^VkwSystenw3MaaaffSf^TdephonyManager^3ResocfeeManager^IdeationKlaiagert3XMiPService^•系厍层CLfcraieOP•Anfarifl系统运行WvCAadnndSml^te}^MsnsEsr^UtditFfamework^核心库(Oxt£ibfa:ks)^OpenGLiESr3FreeT^per1SOU1SSLPLtbc...#•Lknzx内核屋(LkuxKm碴〕^DtsplsvDrktr^Csm.eraDriv〜BlustoofiiDriver一FhshManon?Driver^Bin細(IFC)^Dltr^USBDma-^iDriver*3MiDrivedAudioDrivedPowerDitvert3图2-2Android的系统框架图1、应用层(Application)上面曾经提到过虚拟机和运行环境Dalvik,而这一层就是由能够虚拟机上运行的应用程序构成,这些应用程序包括日历、地图、电话、浏览器等等。Dalvik虚拟机是一种Java虚拟机,针对安卓设计,可以方便运行基于Java的各种应用程序。除此之外,可以从AndroidMarket,即安卓应用程序市场购买,下载以及安装的应用程序,以及自己编写的基于安卓的应用程序或服务程序也属于应用层[13]0 基于安卓平台的移动税务0A系统的设计和实现2、应用程序框架(ApplicationFramework)安卓平台具有的可以向应用程序开发人员提供的功能,它们均发布在这一层中,可以由开发人员调用,实际上,这就是应用程序接口,即API(ApplicationProgrammingInterface),开发人员有访问整个框架的权限,其组成由图2-2所示[14,15]。3、系统运行环境(AndroidRunTime)安卓运行环境与安卓库实际上处于一层,它提供了一组运行时的核心库函数。当然安卓运行环境还有一个关键部分——Dalvik虚拟机,每个安卓应用程序的进程都由它对应的一个Dalvik虚拟机实例加载,Dalvik虚拟机因为考虑到移动网络,所以在内存和电池供电方面做了优化。4、系统运行库(Libraries)系统运行库,由名为NDK的函数库构成,因为Java语言是跨平台的开发语言,必然是与硬件关系不大,所以,它基本上不能直接访问硬件,但是C/C++语言的操作硬件的功能却比较强大,所以NDK库基本上用C/C#语言编写,这样可以实现对硬件的直接访问。它包括了提供Android操作系统的主要功能的全部代码,比如C语言标准库(Libc),SQLite库,在其中,提供了基于SQL数据库标准查询语言对数据存储的支持,WebKit库,它提供了很多浏览器的功能等等。当然,它们不能直接展示给客户或开发人员,必须通过上一层的安卓应用框架才能完成展示[16,17]。有了NDK库,那么对硬件的操作便可以直接调用其库函数了,在NDK库上,便可以建立核心库,包括大部分核心类库,可以在Java编程时调用。5、Linux内核层(LinuxKernel)安卓系统的核心层,包括内核管理和底层硬件设备的驱动程序。当然,内核管理又包括进程管理等等,除此之外,还有网络协议栈等。软件和硬件中间需要一个抽象层,这样,将硬件和软件隔离开来,软件必须要通过内核层才能使用硬件功能,利用抽象,将硬件和软件间解耦。1.1.1Android应用程序类型安卓系统的应用程序一般由四个关键构造块构成,它们分别是:Activity活动,Service服务,BroadcastandInternetReceivers广播域互联网接收器,12 第2章系统相关技术ContentProvider内容提供器构成。这些构造块,我们需要时,必须要在AndroidManifest.xml文件中作登记,声明我们需要的构造块。AndroidManifest.xml是XML的配置文件,在里面,我们需要的应用程序组件,以及功能等均用这个扩展标记语言声明定义。在AndroidMainfest.xml有Schema,它包含这四种构造块。1、活动(Activity)活动(Activity)是最基本的构造块,也其实是应用程序,如果用Windows的观点来看的话,因为活动(Activity)可以被用户或系统启动,可以通过查询方式从网络或其他组件获得其需要的数据和服务。一个活动(Activity)—般是一个单独的屏幕,也是可执行的代码。活动(Activity)是一个基类,它可以被不同的子活动(Activity)类所继承,用以实现各种具体的活动(Activity)。Intent在安卓中,它也被作为一个特殊类,同Intent这个类对应的是动作和动作对应的数据,有了动作和数据,安卓便实现了在不同屏幕之间的移动。比如动作有MAIN(activity的门户)、VIEW、EDIT等,那么有了动作,自然有其数据,它用URI表示。与Intent有关的一个类是IntentFilter,属于一个过滤器,因为一个activity不可能操作所有的Intent,所以通过IntentFilter进行描述,它在AndroidManifest.xml中进行声明。通过解析各种Intent,就可以完成屏幕间的导航。2、广播和Intent接收器(BroadcastandIntentReceivers)同网络侦听器接收器的功能相似,如果一个外部事件突然产生(比如网络上,一个请求突然到达),我们需要应用程序能够对它做出响应,那么可以用IntentReceiver如果一个突发事件发生,它会马上使用NotificationManager做通知,它没有URI。IntentReceiver需要在XML清单文件中AndroidManifestxml中注册,如果没注,那么使用代码的环境注册接收器方法ContextregisterReceiverO也可以注册。一个突发事件到来,应用不一定会马上调用intentreceiver,系统会自己进行处理,当需要时,系统启动应用程序。除了响应,Intentreceiver还可以广播,使用环境广播方法Context.broadcastIntent()进行广播。如果客户端需要发送请求,它需要建一个intent对象,系统接到这个对象后,它可以自己决定怎样处理,即用什么程序来处理这个Intent对象。3、服务(Service) 基于安卓平台的移动税务0A系统的设计和实现活动(activity)中的程序有界面,但是服务(Service)是程序,但一般处于后台运行,有生命周期,就是没有用户界面,因为后台用不着。比如媒体播放器是应用程序,它会对应很多活动(activity),但是重放并没有活动(activity),那么媒体播放器对应的活动(activity)会使用环境启动服务方法Context.bindService(},这样,后台服务就可以一直保持播放。当然,也可以通过环境绑定方法ContextbindServiceO连接到一个service上,执行各种操作,诸如暂停,重播等。4、内容提供器(ContentProvide)内容提供器(ContentProvider)与内容和数据有关,也就是主要提供数据存储服务,当然数据能够被存储在数据文件或者各种数据库中,以及各种外设中,内容提供器(ContentProvider)实际上也是一个ContentProvider类,它实现的标准方法,能够提供一种名叫URI(UniformResourceIdentifier,统一资源标识符),使其它的应用存取内容提供器(ContentProvide)类处理的数据。1.1.1Android活动的生命周期安卓系统中活动(Activity)的生命周期简直太重要了,如果我们开发比较大,又灵活的应用时,它很有帮助,还有一个原因,它可能随时被系统回收。和函数或方法调用栈类似,活动(Activity)因为有被激活变成真正活动的,和未被激活——是不活动的区别,所以也用活动(Activity)栈来放置活动的Activity和不活动的Activity。如果是己经激活的Activity,则位于栈顶,不活动的Activity按照先进后出的原则被压在下面,那么随着Activity栈的Push与Pop,不活动Activity变成栈顶时,则它实际上也被激活变成活动的。1、如图2-3所示,现在活动(Activity)A正在运行,此时,产生了活动(Activity)B,那么刚才活动(Activity)A在活动(Activity)找顶,有了活动(Activity)BB>A就Push到栈的下一层,B位于栈顶。2、如图2-4所示,用户点击了返回按钮后,或者上一层的活动(Activity)结束后,比如活动(Activity)B结束,那么其会从栈中移除销毁,下一个活动,比如活动(Activity)A将到栈顶,同时被激活。3、活动(Activity)生命周期中的重要状态:(1)活动状态,即在栈顶活在所有屏幕最前面,得到焦点可见。(2)暂停状态,已经失去焦点,但还是可见。(3)停14 第2章系统相关技术止状态,没了焦点,也不可见。(4)销毁状态,被安卓销毁。图2-3活动(Activity)栈示意图獅的点击返回按钮或者关闭Activity[上一次的Acth/S^l以前的AdMty移除練放资翟图2-4活动(Activity)找中不活动的Activity激活示意图活动(Activity)生命周期回调图如图2-5所示,它一般分为三个生命周期:1、完整生命周期生命周期最开始肯定是创建,所以活动(Activity)都是由第一次调用创建方法onCreateO开始,这时,即开始各种设置和初始化,然后可能会有暂停,停止,但肯定是以系统销毁,调用销毁方法onDestroyO为止,此时,活动(Activity)释放占用所有系统资源。2、可见生命周期活动(Activity)创建调用了onCreateO后,下一步就进入可见生命周期,以调用onStartO开始,因为叫可见,所以用户可以从屏幕上直接看到这个活动(Activity),不过它可能不在前台,在onStartO之后,可见生命周期调用onStopO 基于安卓平台的移动税务0A系统的设计和实现结束之前,所有与显示此活动(Activity)有关的资源可被保留。/Acd%Istarts}onCreaieOiMefnavigates'backtotheactivityfFftx^ssls^^,Kkitted^mmonStart()onResumeO-IcmRestaftOILhhmhhmJPTheactivity^mstoth$.foregroundOti)$rapplicationsneedmemoiy;Ano&}eractivitycomes'.infromoftheactivityortPauseOfTtmacMtvisnofomervismTh$a<^ivitymmstoifmfotegromi图2-5Android活动的生命周期回调图3、前台可见生命周期 第2章系统相关技术活动(Activity)前台生命周期从onResumeO调用起,至相应的onPauseO调用为止。在前台可见生命周期时,活动(Activity)就是位于最前台可以对用户的各种请求进行响应,也可以进行交互了,当然,它会在暂停和活动状态间进行转换。活动(Activity)生命周期会进行回调的所有方法的代码片断如下:@ovemdeProtectedvoidonCreate(){Super.onCreate(savelnstanceState);}//调用这个方法表示所属的Activity将要被展现给用户@ovenideProtectedvoidonStartO{Super.onStartO;}//暂停状态的Activity启动@ovenideProtectedvoidonPauseO{Super.onPauseO;}//Activity暂停@overrideProtectedvoidonStopO{Super.onStopO;}//Activity停止@overrideProtectedvoidonDestroyO{Super.onDestroyO0;}//Activity销毁1.1Android与服务器端的数据交互以个人机(PC)作为Java的客户端(Client),如果要访问WebService的话,需要XFire,Axis2,CXF等库进行支持。相比手机移动系统的可用资源,PC堪称奢侈,所以需要使用一些资源耗费少的类库,比如KSOAP,通过它,我们可以17 基于安卓平台的移动税务0A系统的设计和实现访问和调用WebService。在这里,需要先下载工具包:KSOAP:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar紧接着,就建一个安卓项目(project),将上述的工具包安放在该project的lib子目录下,按照右键->buildpath->eonfigurebuildpath--选择Libraries,如图2-6所示。irpstypefiltertextResourceAndroidBuildersJavaBuildPathJavaCodeStyleJavaCompilerJavaEditorjavadocLocationMyEclipseProjectReferencesRefactoringHistoryRun/DebugSettings丁askRepositoryJavaBuildPath[3Source丨Projectsj遂Libraries匕分OrderandExport;JARsandclassfoldersonthebuildpath:§ksoap2-android-assemb!y-2.5.2-jar-with-dependeMAndroid2.2AddJARs...AddExternalJARs*..AddVariable...AddLibrary—AddClassFolder.^AddExternalClassFolder嫌Edit”RemoveMigrateJARFile,:.OKCartel图2-6在安卓系统模拟器下调用KSOAP包图下面是调用WebService方法的步骤:1、对SOAPObject对象进行实例化,对webService的namespace进行指//命名空间privatestaticfinalStringserviceNameSpace=,’http://WebXml.com.cn,,;18 第2章系统相关技术//调用方法privatestaticfinalStringgetSupportCity=’,getSupportCity,,;实例化SoapObject对象SoapObjectrequest=newSoapObject(serviecNameSpace,getSupportCity);2、设置方法调用参数:request.addProperty(“参数名称”,”参数值”);3、设置SOAP请求信息://获得序列化的EnvelopeSoapSerializationEnvelopeenvelop=newSoapSerializationEnvelope(SoapEnvelope,VERLL);4、注册:(newMarshalBAse640).register(envelope);5、新建传输对象,指出WSDL文档的统一资源定位URL://请求URLprivatestaticfinalStringserviceURL=“ht^)://www.webxml.com.cn/webservices/weatherwebservice.asmx”;AndroidHttpTransporttransport=newAndroidAndroidHttpTransport(serviceURL);6、调用WebService:Transport.call(serviceNameSpace+WeatherbyCityName,envelope);7、解析返回数据:If(envelope.getResponseO!=null){Returnparse(envelope.bodyIn.toStringO););}privatestaticList XESUIDVARCHAR2C40) 此文档下载收益归作者所有
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
举报
文档下载
请先输入手机号