基于android的移动OA的开发与设计

分类号 (宋体五号字) 密级 UDC 编号 硕士研究生学位位论文题 目 基于anddroid的的移动OA系系统分析与设设计 学院(所、中心心) 软件学学院 专业名称 软件工程 研究生姓名 陈健 学号 R20100006855 导师姓名 廖廖鸿志 职称 教授授 2012年 110 月扉页:声 明本人声明所呈交交的论文是我我个人在导师师指导下进行行的研究工作作及取得的研研究成果尽尽我所知,除除了文中特别别加以标注和和致谢的地方方外,论文中中不包含其他他人已经发表表或撰写过的的研究成果,也也不包含为获获得云南大学学或其他教育育机构的学位位或证明而使使用过的材料料与我一同同工作的同志志对本研究所所做的任何贡贡献均已在论论文中作了明明确的说明并并表示了谢意意 研究生签名:: 日 期: 论文使用和授权权说明本人完全了解云云南大学有关关保留、使用用学位论文的的规定,即::学校有权保保留并向国家家有关部门或或机构送交学学位论文和论论文电子版;;允许论文被被查阅或借阅阅;学校可以以公布论文的的全部或部分分内容,可以以采用影印、缩缩印或其他复复制手段保存存论文;授权权学校将学位位论文的全部部或部分内容容编入有关数数据库进行检检索。
(保保密的论文在在解密后应遵遵循此规定)研究生签名: 导师签名:: 日 期: 摘 要由于移动OA允允许您在任何何时间任何地地点以任何方方式处理任何何事,实现对对企业内部的的有效管理,因因此与传统的的OA系统对对比,移动办办公既可以实实现传统OAA系统所有功功能,同时也也可以实现一一些原有办公公系统无法实实现的功能,实实现与企业协协同管理系统统无缝结合,实实现对企业所所有业务的自自由掌控开放性手机平台台Androoid近些年年来迅速发展展,使用Anndroidd平台的智能能手机大量问问市,获得了了市场的广泛泛推宠和好评评,因此基于于Androoid平台的的所应用程序序成为一个热热门的计算机机软件研究方方向在对Androoid系统平平台进行了大大量分析与研研究的基础上上,提出利用用Androoid智能手手机平台的高高效与智能的的特点来实现现OA系统的的研究课题,它它对提高企业业办公效率将将有重要意义义和实际的应应用价值本本文的主要工工作是完成一一个基于Anndroidd移动OA系系统的需求分分析、总体设设计、概要设设计、编码实实现、测试发发布的工作,论论文主要内容容如下:其次,在作者实实际工作中和和调研基础上上,对典型移移动OA系统统通过建模语语言工具来分分析和建模,对对面向对象的的移动OA需需求进行了分分析,并给出出了移动OAA系统的架构构和基础功能能;再次,运用基于于面向对象的的分析与设计计方法,如系系统对象模型型分析、系统统模块划分、MMVC模式的的系统架构设设计等,提出出了一个基于于Androoid平台的的微型OA系系统的设计方方案;最后,给出了基基于Andrroid平台台的OA系统统的详细设计计和实现方法法,主要包括括各个功能模模块的实现过过程和在模拟拟器中得出的的运行结果,并并针对实现OOA系统所涉涉及到的关键键设计进行详详细的讨论。
关键词:Anddroid平平台;移动平平台;微型;;OA系统;;设计方案Abstracct Open AAndroiid mobbile ddevicee plattform develloped rapiddly inn receent yeears,aa largge nummber oof smaart phhones of ussing tthis pplatfoorm haave beeen puublishhed,weere wiidely praissed byy the markeet,Anddroid platfform-bbased appliicatioon devvelopmment hhas grraduallly beecome a hott reseearch of coompterr softtware..OA(offfice autommationn)systtem deeveloppment so faar,hass enteered tthe moobile age,tthe doocumennts,adddresss bookk,caleendar,,file managgementt,notiificattion aand otther ffunctiionsonn on tthe orriginaal OA systeem to migraate too mobiile phhones graduually,,OA syystem in thhe neaar futture wwill aallow userss anywwhere handhheld oofficee can be fooreseeed. Baseed on makinng a llarge numbeer of reseaarchess and analyysis oon thee Andrroid pplatfoorm,auuthor propoose thhe toppic off usinng of the AAndroiid smaart phhone pplatfoorm’ effiicientt and intellligennt feaaturess to aachievve thee OA ssystemm,it iimprovve offfice eefficiiency will be immportaant annd praacticaal vallue.Maain joob of this thesiis is that to bee comppletedd and Androoid-baased mmicro--OA syystem’’s neeeds annalysiis,oveerall desiggn,outtline desiggn,codde impplemenntatioon ,teestingg and releaase,thhe maiin conntentss of tthe thhesis are aas folllows:: Firsst, a brieff anallysis of thhe Anddroid platfform aarchittecturre,foccuses on thhe bassics oof thee Andrroid pplatfoorm,thhe bassic coomponeents oof Anddroid frameework,,API oof Anddroid platfform,aand soome off the key ttechnoologiees of achieeve OAA systtem onn Andrroid pplatfoorm; Secoondly,,the aauthorrs connducteed a llot off reseearch work on thhe typpical OA syystem for mmobilee objeect-orrienteed reqquiremments analyysis,tthrouggh moddelingg langguage toolss to aanalyzze andd buillding modell,and get tthe moovemennt OA systeem’s arcchiteccture and bbasic functtions;; Agaiin to use oof objject-oorientted annalysiis andd desiign meethodss inclludingg the systeem objject mmodel analyysis,ssystemm moduule diivisioon,MVCC modeel of systeem arcchiteccture desiggn, prroposee the Soluttions of OAA systtem baase onn Andrroid pplatfoorm; Finaally,tto givve of the AAndroiid-bassed miicro-OOA sysstem’s thee detaailed desiggn andd impllementtationn wayss, inccludinng conncretee reallizatiion off the varioous fuunctioonal mmodulees andd simuulatorr run resullts ,aand foor thee systtem tooachieeve thhe keyy techhnologgies iinvolvved inn detaailed discuussionns.Key Worrds: AAndroiid plaatformm;Pockket offfice;;OA syystem;;desinng目 录第一章 绪论 11.1选题背景景及意义 11.2研究现状状与发展趋势势 31.3国内外研研究现状 31.3.1 国国内研究现状状 31.3.2 国国外研究现状状 41.4论文的主主要研究工作作 51.5论文章节节结构 6第二章 Anddroid平平台的体系结结构分析 72.1 Anddroid平平台基础知识识 72.1.1 AAndroiid平台简介介 72.1.2 AAndroiid的系统架架构 72.1.3 AAndroiid应用程序序类型分析 92.1.4 AAndroiid活动的生生命周期 102.1.5 AAndroiid服务的生生命周期 132.2 课程相相关的Anddroid技技术介绍 152.2.1 AAndroiid用户界面面简介 152.2.2 XXML解析技技术简介 172.2.3 AAndroiid与服务器器端的数据交交互技术简介介 172.3 本章小小结 20第三章 系统的的需求分析与与建模 203.1 需求分分析的概念 203.2 系统的的需求分析 203.2.1 需需求分析流程程 203.2.2 系系统设计原则则 213.2.3 系系统设计目标标 213.2.4 系系统的功能性性需求 223.2.5.系系统的非功能能性需求 263.2.6 系系统运行环境境需求 263.3 本章小小结 27第四章 基于AAndroiid平台的微微型OA系统统设计 274.1 MVCC设计模式简简介 274.2 系统总总体架构设计计 284.2.1 系系统总体架构构图 284.2.2 系系统实现流程程架构 294.3 系统功功能设计 304.3.1 系系统功能模块块概述 304.3.2 OOA手机客户户端功能模块块设计 304.3.2.11 个人办公公管理模块设设计 314.3.2.22 公文管理理模块设计 324.3.2.33 工作流转转模块设计 334.3.2.44 辅助管理理模块设计 344.3.3 OOA服务端功功能模块设计计 344.3.3.11 基础服务务支撑管理模模块设计 354.3.3.22 业务解析析运行引擎模模块设计 364.3.3.33 终端访问问安全管理模模块设计 374.3.3.44 系统管理理模块设计 374.3.3.55 接口管理理管理模块设设计 374.4 数据库库简要设计 384.5 本章小小结 43第五章 基于AAndroiid平台的微微型OA系统统实现 435.1开发平台台的搭建 445.1.1 系系统开发环境境 445.1.2 AAndroiid运行环境境 445.2关键技术术的实现 465.2.1 从从服务器获取取XML格式式的信息 465.3. 主要要功能部分模模块的实现与与测试 535.3.1 系系统登录 535.3.2 个个人办公的实实现 545.3.3 公公文管理的实实现 555.3.4 通通讯录的实现现 565.4 本章小小结 56第六章 结论 57一、论文工作总总结 57二、今后研究工工作展望 57参考文献 1致 谢 3第一章 绪论1.1选题背景景及意义经过多年的发展展,第三代数数字通信(33G)技术获获得了广泛的的发展,它为为移动终端用用户带来了更更快的数据传传输速度。
随随着3G网络络的使用,移移动终端不再再仅是通讯网网络的终端,还还将成为互联联网的终端因因此,移动终终端的应用软软件和需要的的服务将会有有很大的发展展空间Gooogle为为此于20007年11月月推出了一个个专为移动服服务设计的软软件平台---Androoid智能手机是一种种在手机内集集成了相应开开放式操作系系统的手机,因因为可以安装装第三方软件件,所以智能能手机有丰富富的功能,如如网络视频、移移动聊天、位位置服务、手手机阅读、邮邮件处理等等等近年来,我我国的智能手手机市场发展展非常迅猛,据据媒体预测,到到2012年年我国智能手手机用户将会会达到80000万以上[[1]20012年各种种智能手机操操作系统所占占市场份额如如图1-1所所示图1-1 20012年手机机操作系统市市场份额图Androidd最大特点在在于它是一个个开放的体系系结构,具有有非常好的开开发和调试环环境,而且还还支持各种可可扩展的用户户体验,Anndroidd里面具有非非常丰富的图图形系统,对对多媒体的支支持功能和非非常强大的浏浏览器Anddroid平平台的开放性性等特点既能能促进技术(包包括平台自身身)的创新,又又有助于降低低开发成本,还还可以使运营营商能非常方方便制定特色色化的产品,因因此,它具有有很大的市场场发展潜力。
该该平台由操作作系统、中间间件、用户界界面和应用软软件组成它它采用软件堆堆层(Sofftwaree Stacck,又名软软件叠层)的的架构,主要要分为三部分分底层以LLinux内内核工作为基基础,由C语语言开发,只只提供基本功功能;中间层层包括函数库库Libraary和虚拟拟机Virttual-MMachinne,由C+++开发最最上层是各种种应用软件,包包括通话程序序,短信程序序等,应用软软件则由各公公司自行开发发,以Javva作为编写写程序的一部部分不存在在任何以往阻阻碍移动产业业创新的专有有权障碍,号号称是首个移移动终端打造造的真正开放放和完整的移移动软件GGooglee通过与软、硬硬件开发商、设设备制造商、电电信运营商等等其他有关各各方面结成深深层次的合作作伙伴关系,希希望借助建立立标准化、开开放式的移动动电话软件平平台,在移动动产业内形成成一个开放式式的生态系统统Andrroid作为为Googlle企业战略略的重要组成成部分,将进进一步推进“随时随地为为每个人提供供信息”这一企业目目标的实现全全球为数众多多的移动电话话用户正在使使用各种基于于Androoid的电话话由于企业信息化化应用已渗透透到企业日常常管理以及员员工交流与协协作的各个方方面,员工的的生活与工作作已离不开信信息化系统。
员员工希望能及及时了解到企企业最新的信信息、对需要要紧急处理的的公文或邮件件能够及时答答复,他们希希望在会议、出出差、候机、候候车或差旅途途中能以方便便的方式打开开文件(邮件件)予以处理理,不受场地地或电源的限限制;他们也也希望能在日日常活动时,随随意查阅、批批复相关的信信息,避免打打开计算机等等繁复的操作作显然,满足这些些需求的最便便捷手段莫过过于移动电话话手机作为为个人应用最最广泛的平台台,未来将作作业个人信息息终端承载个个人和企业商商务交流的巨巨大作用,通通过手机办公公系统搭建扩扩展的无线业业务应用平台台,逐步将手手机办公进行行应用深化和和外部扩展,则则可以提早占占领市场,拓拓展增值业务务,提升市场场占有率和回回报率办公自动化没有有统一的定义义,我国专家家在第一次全全国办公自动动化规划讨论论会上提出办办公自动化的的定义为:利利用先进的科科学技术,使使部分办公业业务活动物化化于人以外的的各种现代化化办公设备中中,由人与技技术设备构成成服务于某种种办公业务目目的人一机信信息处理系统统办公自动化是近近年来随着计计算机科学发发展而提出来来的概念,办办公自动化英英文原称Offfice Autommationn,缩写为OOA.办公自动化系统统一般指实现现办公室内事事务性业务的的自动化,而而办公自动化化则包括更广广泛的意义,凡凡是在传统的的办公室中采采用各种新技技术、新机器器、新设备从从事办公业务务,都属于办办公自动化的的领域。
本文提出了如何何在已有的PPC办公自化化应用系统基基础上,把办办公应用扩展展到使用Anndroidd系统的智能能手机上来的的研究课题重重点研究了移移动OA架构构与无线网络络互联技术,分分析了Anddroid智智能手机上实实现OA系统统涉及的技术术,设计和实实现了一个基基于Andrroid平台台的微型OAA应用系统这这些研究内容容对今后移动动办公系统的的进一步研究究将有较好的的实际参考价价值1.2研究现状状与发展趋势势随着时代发展和和单位管理水水平的进步,各各单位对办公公自化提出更更多、更高的的要求,因此此这将导致各各单位将会继继续在办公自自动化系统的的建设和电信信运营商方面面投入更多的的资源来不断断的完善办公公自动化系统统,从而规范范单位内部管管理,进而提提高工作效率率,提升服务务水平宁波大红鹰学院院以提高服务务和工作效率率为前提,采采用数学化、便便携化、网络络化的终端支支撑,为此,对对移动信息化化问题有必要要作进一步的的探讨,如何何提高工作质质量,如何提提高工作效率率已成为当务务之急移动信息化的出出现,使得信信息化摆脱了了对固定办公公环境,固定定工作时间,固固定电脑设备备和网络的依依赖,将信息息化无缝延展展到每个人手手中,使得信信息化从此可可以随时随地地的跟随着人人走。
它是对对原有信息化化的补充,也也是对信息化化本身的发展展和跃变1.3国内外研研究现状1.3.1 国国内研究现状状我国政府的办公公自动化是880年代中期期才发展起来来的从19985年全国国召开了第一一次办公自动动化规划会议议,对我国办办公自动化建建设进行了规规划19886年5月在国务院院电子振兴领领导小组办公公自动化专家家组第一次专专家会议上,定定义了办公自自动化系统功功能层次和结结构模式随随后国务院率率先开发了”中南海办公公自动化系统统”虽然我国办公自自动化起步较较晚,但发展展非常迅速,办办公自动化建建设从无到有有、从小到大大、从简单到到复杂、从低低级到高级只只用了十几年年发展历程1992年,为为了推进政府府机关的自动动化程度,在在政府机关普普及推广计算算机的使用,国国务院办公室室下发文件《国国务院办公厅厅关于建设全全国政府行政政首脑机关办办公决策服务务系统的通知知》((19992)255)该文件件下发以后,在在国务院办公公厅统一指导导下,经过各各地区、各部部门近十年的的积极努力,全全国政府系统统信息化建设设取得了长足足的发展我国的信息化通通过早期推行行办公自动化化(OA)系统统及上世纪末末的政府上网网工程等发展展阶段,为办办公自动化打打下了一定的的基础,取得得了不小的进进步,但各地地各级单位的的发展很不均均衡,存在沿沿海地区明显显比内陆地区区好,内陆地地区又明显比比偏远地区好好,从总体上上讲,信息化化的速度和水水平还不能适适应国民经济济和社会发展展的要求,还还存在一些突突出问题,如如:缺乏统一规规划和统一标标准,各部门门信息存在信信息孤岛,资资源难以共享享;某些领导不不会使用电脑脑,害怕使用用电脑,固守守传统工作方方式;常常重系统统而忽视业务务流程优化;;重建设,轻轻运行维护等等。
解决这些些问题,需要要从体制上入入手,政府、企企业内部一些些有卓识远见见的领导开始始重视这项工工作关于移动办公方方面,目前国国内发达地区区的单位,己己经在这方面面先行一步,因因为他们积累累了大量的应应用系统的开开发经验,并并且本身需要要实施开展现现场巡查、调调查、打印等等业务,存在在将工作流程程向移动终端端延伸的实际际需求根据实际用户的的需求的不同同,“移动办公”大致可以分分为客户端方方式和wapp方式两种,这这两种方式的的优缺点如下下:客户端方式,功功能非常强大大,对于掌上上终端的要求求也较高,一一般需要以智智能手机为终终端载体,它它通过在公司司内部部署一一台用以手机机和电脑网络络信息对接服服务器,使得得手机可以和和企业的办公公系统、财务务系统、ERRP系统等等等几乎所有的的企业级业务务和管理系统统联动,其业业务主要面向向大中型企业业和政府部门门Wap方式,无无须装载软件件,借助运营营商提供的移移动化服务就就可以直接进进行移动化的的办公而后后一种方式则则能实现一些些常规的企业业办公功能,它它不需要企业业架构任何服服务器,也不不需要在手机机上安装软件件,实现包括括如“公文流转、日日程管理、企企业通讯录、手手机硬盘、即即时通信、企企业资讯”等等在内的的常规企业办办公功育旨。
随着国内信息化化的发展,对对内部办公自自动化的及时时处理也已经经成为影响单单位办公效率率的重要环节节将办公自自动化系统向向移动终端延延伸的实际需需求也越来越越迫切1.3.2 国国外研究现状状国外办公自动化化开始于500年代左右在在美国和日本本首先提出,最最初只是具有有电子数据处处理的簿记功功能,紧接着着在60年代被管管理信息系统统(MIS))所替代,一一直到70年代后期期才形成涉及及多种信息技技术的新型综综合学科一办办公自动化((OA)国外的办公自动动化起步较早早,19844年,格雷斯斯委员会在调调查的基础上上建议在不同同级别的政府府部门包括总总统办公室设设立CIO((美国首席信信息官)职位,标志志着美国办公公自动化已经经基本完善和和制度化以以美国为例,美美国使用电子子数据交换(EEDI)相关关的应用的企企业就已经约约有2.4万万家发展到到现在,几乎乎所有的美国国大公司都已已经实现了办办公自动化,甚甚至一些跨国国公司还实现现了虚拟办公公室的应用如如美国的思科科(CISCCO)公司把把运营和管理理成功地迁移移到了互联网网上,旗下的的全部产品(交交换机、路由由器以及其它它的网络互联联设备)都建建立了虚拟的的订货系统,思思科在全球范范围内的绝大大多数订单都都是通过网络络来处理。
欧美等发达国家家的OA应用用系统主要呈呈现下列特点点:(1) 平台化程序较高高,能整合企企业中现有的的ERP系统统、MIS系系统、财务系系统等模块中中存储的经营营管理业务数数据各个子子系统的界面面风格统一,业业务流程联系系紧密、信息息处理顺畅使使用统一的用用户帐户可以以实现各系统统间文档流传传、信息发布布、核查审批批等应用,使使得各个系统统无缝集成,协协同工作,成成为一个大的的办公平台2) 智能化程序较高高,OA系统统帮助用户做做一些基本的的商业智能(BBusineess Inntelliigencee,简写为BBI)分析工工作智能化化高的OA系系统可以对海海量数据进行行分类和分析析,向用户提提供决策支持持、知识挖掘掘、商业智能能等服务,这这对用户快速速地从庞大的的信息量中发发现一些潜在在商业规律与与商业机会会会有很大的帮帮助,可以显显著地提高企企业的运营效效率例如,在在微软的Offfice22007版本本中开始尝试试向用户提供供了一些基本本的BI应用用,如:通过过使用不同颜颜色标记显示示不同大小的的数据、使用用智能化的状状态图型来描描述数据等3) 网络化应用程序序较高,和国国内一些OAA系统中尝试试集成网络办办公功能不同同,国外一些些知名软件厂厂商已经开始始对OA系统统与网络的无无缝连接展开开探索,如GGooglee公司推出了了在线处理的的常用文档和和电子表格的的应用服务,在在本地电脑上上未安装任何何办公应用软软件情况下,用用户就可以以以WEB方式式进行网上办办公;同时,微微软也推出了了Officce Mobbile 22010,可可以通过安装装在智能手机机上的Offfice软件件中的功能选选项,直接选选择上因特网网进行办公操操作,实现在在移动设备上上进行移动办办公。
1.4论文的主主要研究工作作本文的目标是基基于Andrroid手机机平台以及OOA(办公自自动化)技术术,设计和实实现一个高效效的移动办公公系统本文文的研究工作作主要集中在在移动OA系系统的手机客客户端的设计计和实现两方方面主要研研究内容包括括: (1)分分析Andrroid手机机平台框架并并研究移动OOA开发涉及及的相关技术术 首先了了解Andrroid系统统的历史,然然后分析Anndroidd操作系统的的架构组成,接接着研究在AAndroiid平台上进进行软件开发发必须了解的的基础知识,然然后研究如何何在Winddows系统统环境下搭建建Androoid平台的的开发的环境境,最后研究究了Andrroid平台台上的移动OOA系统实现现的关键技术术和程序调试试技术2)使用面向向对象相关技技术对移动OOA系统进行行分析和设计计 根据据移动传统OOA系统的特特点,先使用用基于面向对对象思想的建建模工具进行行对象分析,设设计出一个针针对宁波大红红鹰学院的移移动办公解决决方案,再结结合Andrroid平台台的特点,设设计出一个基基于Andrroid智能能手机平台的的微型OA系系统。
3) 实现基于Anddroid手手机平台的微微型OA系统统并对其进行行模拟测试 针对对系统各个子子功能模块进进行编码实现现,并在模拟拟器上进行测测试,以验证证系统的正确确性和合理性性拟解决的关键技技术问题如下下:(1) 移动OA系统的的体系结构设设计;(2) 通过无线网络数数据传输的方方式,实现应应用服务器上上的数据与客客户手机端之之间的交互;;(3) 基于Androoid平台应应用程序的编编程实现技术术1.5论文章节节结构 本论文的内容容组织与结构构安排如下::第一章是全文的的概述简要要介绍了课题题的研究背景景,国内外相相关技术的研研究动态和论论文的主要研研究内容第二章是Anddroid平平台的体系结结构分析主主要论述了AAndroiid平台基本本框架体系,还还介绍了用户户界面设计技技术、XMLL解析技术以以及Andrroid与服服务器端数据据交互技术第三章是系统的的分析与建模模介绍了需需求分析的常常用方法,使使用UML语语言,对移动动OA系统进进行需求分析析,并详细描描述系统所需需的功能模块块,为后续章章节提供理论论依据第四章是基于AAndroiid平台微型型OA系统的的设计。
使用用MVC模式式设计系统架架构,建立系系统的对象模模型,另外简简单介绍了本本系统的数据据库的设计第五章是基于AAndroiid平台微型型OA系统的的实现主要要包括系统各各个子功能模模块的实现、在在模拟器中得得出的运行结结果,并针对对系统实现涉涉及的关键技技术进行详细细的讨论经最后是总结与展展望对所完完成的系统系系统进行总结结,提出了尚尚存在的不足足之处,提出出了今后需要要进一步完善善的工作第二章 Anddroid平平台的体系结结构分析2.1 Anddroid平平台基础知识识2.1.1 AAndroiid平台简介介2007年111月5日,GGooglee公司发布了了一款名为AAndroiid(中文意意思为机器人人)的操作系系统这个操操作系统是基基于Linuux内核的开开源手机操作作系统,与WWindowwsMobiile、Syymbiann等手机操作作系统处在同同一级别,是是主流的手机机操作系统之之一Androidd系统在Liinux核心心应用的基础础上,向广大大程序开发人人员提供了各各种函数库和和完整的应用用程序框架此此外,Anddroid系系统还在Liinux核心心上提供了一一种名叫Daalvik的的Java 应用程序运运行环境,与与Sun公司司J2ME的的Java虚虚拟机不同,DDalvikk是由Gooogle公司司独创的专门门针对Anddroid平平台进行优化化的Javaa虚拟机。
为为了让全世界界的应用程序序开发人员学学习和参与AAndroiid平台应用用程序的开发发,Googgle公司还还提供了完全全免费的跨平平台(包括::Windoows、Maac OS X、Linnux等平台台)的开发工工具包(SDDK)这些些特性使得AAndroiid系统大受受市场欢迎,很很快取得了手手机操作系统统中领先地位位2.1.2 AAndroiid的系统架架构本节将简单介绍绍Androoid系统的的框架结构组组成,如图22-1所示从图2-1上看看,Andrroid系统统体系架构自自上而下分为为四层,分别别是应用层(AAppliccationn)、应用框框架层(Appplicaation Frameework)、系系统运行库层层(Librrariess)、Linnux内核层层(Linuux Kerrnel)l 应用层(Appplicattion) 这层主要组组成是在Daalvil虚虚拟机上的各各种应用程序序Dalvvil虚拟机机与J2MEE使用的虚拟拟机不同,是是专门为Anndroidd设计的、基基于寄存器的的Java虚虚拟机,使得得使用Javva语言开发发的应用程序序得以更高效效地运行。
应应用层上的应应用程序很多多,例如:日日历、地图、电电话、拨号、时时钟、浏览器器、短信、联联系人管理等等l 应用框架层(AAppliccationn Frammeworkk) 图2-1 Androoid的系统统框架图 开发人员可可以和Linnux核心应应用一样,拥拥有访问整个个框架APII(应用程序序接口)的权权限应用框框架层主要由由视图(Viiew)、内内容提供器(CContennt Prooviderrs)、资源源管理器(RResourrce Maanagerr)、通知管管理器(Nootificcationn Manaager)、活活动管理器(AActiviity maanagerr)等部分组组成l 系统运行库层(LLibrarries) 系统运行行库主要是由由一种用C//C++语言言编写的、名名叫NDK的的开发库组成成因为Java语语言本身是不不能直接访问问硬件的,必必须要通过NNDK才可以以实现硬件的的访问NDDK主要包括括C语言标准准库(Libbc)、多媒媒体(Meddia Frramewoork)、OOpenGLL ES、SSQLitee、Webkkit、Daalvik虚虚拟机等。
这这些开发库通通过Andrroid应用用框架展示给给开发人员,直直接给应用框框架层提供支支持 该层除了NDDK之外,还还包括了一个个核心库(CCore LLibrarries)核核心库提供了JAVA语言言编程时可能能使用到的大大部分核心类类库 Dalvvik虚拟机机也在这个层层中每一个个Androoid应用程程序都可以认认为拥有独立立的Dalvvik虚拟机机实例,可以以在程序自身身的进程中运运行,而且允允许一个设备备同时运行多多个Dalvvik虚拟机机,使用Anndroidd应用程序得得以高效地被被执行Daalvik虚虚拟机可执行行文件的格式式是*.deex,这种格格式的文件专专门针对内存存较小、处理理器速度比较较慢的手机平平台进行了优优化l Linux内核核层(Linnux Keernel) Linuux内核层主主要包括驱动动模型、内在在管理、进程程管理、网络络协议栈等组组件,Linnux内核层层也可以认为为是软件和硬硬件之间的抽抽象层,可以以在隐藏具体体硬件细节的的情况下为上上面的几个层层提供统一的的服务目前前Androoid使用版版本为2.66的Linuux内核提供供核心系统服服务。
2.1.3 AAndroiid应用程序序类型分析 Androiid架构里定定义了四种应应用程序结构构,分别是活活动(Acttivityy)、服务(SServicce)、广播播和Inteent接收器器(Broaadcastt and Intennt Recceiverrs)、内容容提供器(CContennt Prooviderr),这四种种结构构建了了几乎所有的的Androoid应用程程序l 活动(Actiivity)Androidd系统中的活活动类似于wwindowws操作系统统中独立应用用程序活动动都是由一些可执行行代码组成,用用户或者系统统需要时活动动就会被启动动活动可以以与用户进行行交互,还可可以通过查询询(querries)和和intennt组件向其其它活动或者者服务获取数数据和服务活活动通常要负负责屏幕的显显示,每一个个活动一般都都有一个对应应的界面,如如果活动的不不在处于活动动状态,系统统可以将它结结束以提高智智能手机内存存的利用率l 服务(Servvice) Anddroid系系统中的服务务与winddows系统统或者服务器器中的后台程程序(daemonns)类似,它它同样也是由由一些可执行行代码构成,它它们启动以后后会一直在后后台运行,直直到智能手机机关闭为止。
一一般情况下服服务是没有用用户交互界面面的l 广播和Inteent接收器器(Broaadcastt and Intennt Recceiverrs) 广播和和Intennt接收器(BBroadccast aand Inntent Receiivers)用用于处理应用用程序发生的的服务请求广广播接收器用用于处理系统统级别的事件件消息,这些些消息可能是是由系统本身身发生的,例例如手机电量量不足,消息息也可能来自自于系统在中中正在运行的的其他应用程程序一个活活动或者服务务如果想向其其他应用程序序提供服务,一一般通过Inntent接接收器来实现现Inteent接收器器是一段可执执行代码,当当其他服务//活动发出服服务或者数据据请求是就会会响应如果果要发送请求求,客户端要要先创建一个个intennt对象,然然后将这个对对象提交到AAndroiid系统,由由系统来决定定使用哪个应应用程序来处处理这个对象象这两种接接收器程序和和服务程序一一样,也是没没有用户交互互界面的l 内容提供器(CContennt Prooviderr)内容提供器(CContennt Prooviderr)主要功能能是向其他的的活动或者服服务提供数据服务。
内内容提供器通通过使用一种种名叫URII(Unifform RResourrce Iddentiffier,统统一资源标识识符)的接口口向其他应用用程序提供数数据服务2.1.4 AAndroiid活动的生生命周期图2-2 Anndroidd活动的生命命周期图下面的对在活动动的整个生命命周期中的每每个方法进行行详细的描述述l void onnCreatte(Bunndle ssavedIInstannceStaate)当AActiviity被第首首次加载时执执行我们新新启动一个程程序的时候其其主窗体的onCreatte事件就会会被执行如如果Actiivity被被销毁后(oonDesttroy后),再再重新加载进进Task时时,其onCCreatee事件也会被被重新执行注注意这里的参参数 savvedInsstanceeStatee(Bunddle类型是是一个键值对对集合,大家家可以看成是是.Net中中的Dicttionarry)是一个个很有用的设设计,由于前前面已经说到到的手机应用用的特殊性,一一个Actiivity很很可能被强制制交换到后台台(交换到后后台就是指该该窗体不再对对用户可见,但但实际上又还还是存在于某某个Taskk中的,比如如一个新的AActiviity压入了了当前的Taask从而“遮盖”住了当前的的 Actiivity,或或者用户按了了Home键键回到桌面,又又或者其他重重要事件发生生导致新的AActiviity出现在在当前Acttivityy之上,比如如来电界面),而而如果此后用用户在一段时时间内没有重重新查看该窗窗体(Anddroid通通过长按Hoome键可以以选择最近运运行的6个程程序,或者用用户直接再次次点击程序的的运行图标,如如果窗体所在在的Taskk和进程没有有被系统销毁毁,则不用重重新加载Prrocesss, Tassk和Tassk中的Acctivitty,直接重重新显示Taask顶部的的Activvity,这这就称之为重重新查看某个个程序的窗体体),该窗体体连同其所在在的Taskk和Proccess则可可能已经被系系统自动销毁毁了,此时如如果再次查看看该窗体,则则要重新执行行 onCrreate事事件初始化窗窗体。
而这个个时候我们可可能希望用户户继续上次打打开该窗体时时的操作状态态进行操作,而而不是一切从从头开始例例如用户在编编辑短信时突突然来电,接接完电话后用用户又去做了了一些其他的的事情,比如如保存来电号号码到联系人人,而没有立立即回到短信信编辑界面,导导致了短信编编辑界面被销销毁,当用户户重新进入短短信程序时他他可能希望继继续上次的编编辑这种情情况我们就可可以覆写Acctivitty的voiid onSSaveInnstancceStatte(Bunndle ooutStaate)事件件,通过向ooutStaate中写入入一些我们需需要在窗体销销毁前保存的的状态或信息息,这样在窗窗体重新执行行onCreeate的时时候,则会通通过 savvedInsstanceeStatee将之前保存存的信息传递递进来,此时时我们就可以以有选择的利利用这些信息息来初始化窗窗体,而不是是一切从头开开始 l void onnStartt()onCCreatee事件之后执执行或者当当前窗体被交交换到后台后后,在用户重重新查看窗体前已经过去了了一段时间,窗窗体已经执行行了onSttop事件,但但是窗体和其其所在进程并并没有被销毁毁,用户再次次重新查看窗窗体时会执行行onResstart事事件,之后会会跳过onCCreatee事件,直接接执行窗体的的onStaart事件。
l void onnResumme()onnStartt事件之后执执行或者当当前窗体被交交换到后台后后,在用户重重新查看窗体体时,窗体还没有有被销毁,也也没有执行过过onStoop事件(窗窗体还继续存存在于Tassk中),则则会跳过窗体体的onCrreate和和onStaart事件,直直接执行onnResumme事件l void onnPausee()窗体被被交换到后台台时执行l void oonStopp()onPPause事事件之后执行行如果一段段时间内用户户还没有重新新查看该窗体体,则该窗体的onStoop事件将会会被执行;或或者用户直接接按了Bacck键,将该该窗体从当前前Task中中移除,也会会执行该窗体体的onSttop事件l void oonResttart())onStoop事件执行行后,如果窗窗体和其所在在的进程没有有被系统销毁毁,此时用户户又重新查看该窗体体,则会执行行窗体的onnRestaart事件,oonResttart事件件后会跳过窗窗体的onCCreatee事件直接执执行onSttart事件件l void oonDesttroy())Activvity被销销毁的时候执执行。
在窗体体的onSttop事件之之后,如果没没有再次查看看该窗体,Acttivityy则会被销毁毁2.1.5 AAndroiid服务的生生命周期Androidd Servvice生命命周期与Acctivitty生命周期期是相似的,但但是也存在一一些细节上也也存在着重要要的不同:图图2-3是AAndroiid服务(SServicce)的生命命周期示意图图图2-3 Anndroidd服务的生命命周期图l onCreatte和onSStart是是不同的 通过从客客户端调用CContexxt.staartSerrvice((Intennt)方法我我们可以启动动一个服务如如果这个服务务还没有运行行,Andrroid将启启动它并且在在onCreeate方法法之后调用它它的onSttart方法法如果这个个服务已经在在运行,那么么它的onSStart方方法将被新的的Intennt再次调用用所以对于于单个运行的的Serviice它的oonStarrt方法被反反复调用是完完全可能的并并且是很正常常的l onResumme、onPPause以以及onSttop是不需需要的 回调一一个服务通常常是没有用户户界面的,所所以我们也就就不需要onnPausee、onReesume或或者onSttop方法了了。
无论何时时一个运行中中的Servvice它总总是在后台运运行l onBind 如果一一个客户端需需要持久的连连接到一个服服务,那么他他可以调用CContexxt.binndServvice方法法如果这个个服务没有运运行方法将通通过调用onnCreatte方法去创创建这个服务务但并不调用用onStaart方法来来启动它相相反,onBBind方法法将被客户端端的Inteent调用,并并且它返回一一个IBinnd对象以便便客户端稍后后可以调用这这个服务同同一服务被客客户端同时启启动和绑定是是很正常的l onDestrroy与Activiity一样,当当一个服务被被结束是onnDestrroy方法将将会被调用当当没有客户端端启动或绑定定到一个服务务时Andrroid将终终结这个服务务与很多AActiviity时的情情况一样,当当内存很低的的时候Anddroid也也可能会终结结一个服务如如果这种情况况发生,Anndroidd也可能在内内存够用的时时候尝试启动动被终止的服服务,所以你你的服务必须须为重启持久久保存信息,并并且最好在oonStarrt方法内来来做2.2 课程相相关的Anddroid技技术介绍2.2.1 AAndroiid用户界面面简介一、菜单 1、选选项菜单(OOptionnsMenuu): 在Actiivity中中重写onCCreateeOptioonsMennu()和oonOptiionsIttemSellectedd()方法。
2、上上下文菜单((ConteextMennu): onCCreateeConteextMennu()和oonConttextIttemSellectedd()方法,在在onCreeate())方法中将CContexxtMenuu和某个viiew绑定,调调用regiisterFForConntextMMenu(vview) 3、子子菜单:类似似选项菜单的的创建,在oonCreaateOpttionsMMenu())方法中通过过menu..addSuubMenuu()方法实实现子菜单的的添加,事件件处理和选项项菜单相同二、对话框: 1、AAlertDDialogg:警告对话话框,可以带带几个选择按按钮,也可以以带列表选项项 2、TToast略略 3、布布局:布局是是可以嵌套使使用 (11)常用属性性介绍 (22)LineearLayyout;线线性布局可以以水平或者垂垂直摆放组件件 (33)TablleLayoout:表格格布局,在TTableLLayou中中有3个与其其他布局不相相同属性,分分别是:anndroidd:shriinkCollumns=="0"收缩缩指定的列,当当按钮标题过过长,可能会会挤压其他组组件,指定该该属性后其他他组件不会被被挤压anddroid::strettchCollumns=="3"指定定列充满剩余余宽度,anndroidd:colllapseCColumnns="2""隐藏指定的的列。
(44)FrammeLayoout:框架架布局,从屏屏幕左上角开开始摆放组件件 (55)RelaativeLLayoutt:相对布局局,在相对布布局中的组件件使用anddroid::layouut_tiLLeftOff、andrroid:llayoutt_toRiightOff、andrroid:llayoutt_beloow、anddroid::layouut_aboove来确定定组件的位置置 (6)AAbsoluuteLayyout:绝绝对布局,通通过andrroid:llayoutt_x、anndroidd:layoout_y坐坐标来定义组组件的位置4、菜单(Meenu+MeenuGrooup+MeenuIteem) (1)OpttionMeenu (2)ConntextMMenu (3)SubbMenu5、警告对话框框(ALerrtDiallog+AllertDiialog..Buildder+对话话框选项)6、常用组件:: (1)按钮::Buttoon (2)图片按按钮ImaggeButtton (3)文本视视图(TexxtVieww) (4)文本框框(Textt) (5)单选按按钮(RaddioGrooup+RaadioBuutton) (6)复选框框(ChecckBox) (7)列表框框(Spinnner+AAdapteer) (8)开关按按钮(TogggleBuutton) (9) 自动动完成文本框框(AutooComplleteTeextVieew) (10)下拉拉列表(Sppannerr) (11)日期期选择器与日日期选择器对对话框(DaatePiccker与DDatePiickerDDialogg) (12)时间间选择器与时时间选择器对对话框TimmePickker与TiimePi。