1、摘要1分类号 密 级 UDC 全日制硕士专业学位研究生学位论文基于安卓的无线传感温室监控系统的研究与应用作 者 姓 名:指 导 教 师: 教授专业学位名称: 农业推广硕士领 域 名 称 : 农业机械化研 究 方 向 : 农业电气化工程所 在 学 院 : 工程学院论文提交日期: 浙 江 农 林 大 学 年 月 日摘要2摘 要传统搭载于电脑端的智能温室存在着造价昂贵,系统复杂不灵活,软件集成度低,用户体验差等不足。为此本文提出了一种基于 Android 平台的无线传感温室监控系统。系统设计包括数据管理、设备管理、软件设置以及信息发布四大部分。分别有数据图表、环境评分、专家指导、视频及拍照监控、无线
2、设备控制、用户管理、推送管理、系统升级以及信息发布等主要功能点。温室环境因子数据由部署在温室内的传感节点采集,通过 ZigBee 网络经底层无线传感网络传输至云服务器数据库内,最终实现在 Android 客户端上的数据可视化,实现远程客户端查看温室内各项环境参数的实时数据及历史数据。在线视频功能中,温室内的图像信息由高清网络摄像头采集,信号传输稳定图像清晰占用带宽小,能够实现在 3G 网络带宽下即可清晰监控作物长势及病虫草害情况。功能丰富实现有语音对讲、拍照、录像等功能。通过 Okhttp 等方法实现数据库的管理,最终温室内智能设备能够通过屏幕按钮点击实现远程控制,基于语音识别听写功能实现了通
3、过语音与数据库进行交互式管理进而实现远程控制温室内智能设备。为了能够实现更多接口还具有二维码扫描功能,实现丰富的外部接口和功能。系统设置模块中能够开关系统后台推送消息以及检查版本更新情况,方便用户对本应用进行管理。系统软件还进行了兼容性测试及性能测试,测试结果符合实际使用要求。两百款机型测试得出系统兼容性为 100%,安装打开速度快,内存和 CPU 占用率低。为了确保数据的稳定性,在项目地多次实地测试数据稳定收发情况。测试得出系统数据丢包率低于 0.6,稳定性满足系统实际温室生产要求。关键词:ZigBee ,Android,无线传感,语音识别。ABSTRACTIIIABSTRACTTradit
4、ional computer-side intelligent greenhouse has many shortage such as cost expensive, system rigid, low software integration, poor user experience. This paper presents a kind of sensor network and intelligent management based on the Android platform of the intelligent greenhouse monitoring system. Sy
5、stem design including data management, equipment management application Settings and information release. Provide data chart, environmental rating, expert guidance, video and picture monitoring, a wireless device control, user management, delivery management, system upgrades, and the main function s
6、uch as information release point. The wireless sensor nodes gather the environment factors in the greenhouse, through ZigBee wireless sensor network transmission to the server, finally achieved the data visualization on the Android client. The system achieve the remote client to view the greenhouse
7、environment date in real-time and inquire the historical data. Through the Online video surveillance function, the image information catched by HD-Webcam which established in greenhouse. The Signal transmission stabilizing image information in Low-Flow situation, achieved under the 3g-network can be
8、 clear monitoring crop condition and situation. Function rich implement a voice intercom, photos, video, and other functions.Through the developing tools such as Okhttp-tool administer the database, achieved the intelligent greenhouse device remote control by android equipment screen click. Based on
9、 speech recognition dictation function achieved by using voice information and database management remote control the intelligent devices. In order to achieve more interface also provided the QR-code scanning function. System settings module can switch push and version update checking. Do more user
10、friendly to this application.System application also has carried on the compatibility and performance testing. According the test results explain the application meet the requirements. Two hundred types Two hundred models of the test android equipments compatibility is 100%, install and open speed q
11、uickly, low memory and CPU occupied. In order to ensure the stability of the data, in the project to field test data transceiver is stable for many times. Testing system data loss rate less than 0.6, the stability of system actual greenhouse production requirements. Key words: ZigBee ; Android ; Wir
12、eless Sensor ; Speech Recognition目录IV目 录摘 要 .IABSTRACT II1 绪论 11.1 选题背景 .11.2 国内外研究现状 .21.2.1 国外研究现状 21.2.2 国内研究现状 31.3 课题研究目的和意义 .41.4 课题优势与面临困难 .51.5 论文主要内容及章节安排 .62 系统的相关技术理论 82.1 引言 .82.2 Android 系统 82.2.1 Android 系统概述 .82.2.2 Android 系统构架 .82.2.3 Android 应用程序组件 .102.2.4 Android 系统的优势 .122.3 数据库
13、技术分析 133 系统研究方法和总体设计 143.1 引言 .143.2 研究解决的主要问题 143.3 系统研究方法 153.4 系统总体设计方案 .163.5 数据信息系统的实现 .183.5.1 树形网络拓扑结构 183.5.2 二维码功能模块 193.5.3 语音识别功能模块 203.6 视频监控系统的实现 .213.6.1 RTP 流媒体传输协议 .213.6.2 H.264 视频压缩标准 213.6.3 视频监控系统设计 223.7 本章小结 .234 基于 Android 的无线传感温室监控系统设计 .244.1 引言 .244.2 上位机数据库设计 .24ABSTRACTV4.
14、2.1 数据库选择 244.2.2 数据库关系表分类 254.3 管理平台设计 .324.3.1 数据图表模块 344.3.2 视频监控模块 374.3.3 信息服务模块 394.3.4 专家指导模块 424.3.5 后台推送模块 444.3.6 按钮控制及语音控制模块 464.3.7 软件设置模块 484.4 本章小结 .515 系统应用分析 525.1 引言 .525.2 兼容性及性能测试 .525.3 实际应用环境 .535.4 数据稳定性测试 .545.5 图像传输测试 .565.6 本章小结 .566 总结与展望 576.1 总结 .576.2 展望 .58参考文献 59附录 65致
15、谢 851 绪论11 绪论1.1 选题背景我国是农业大国,但农业生产模式相对滞后。广泛存在着粗放型、劳动力型的传统农业生产模式,科技应用水平较低。伴随着电子信息技术飞速发展,国家提出的“互联网+ ”行动计划上升到国家战略层面。产业数字信息化在各行业内,特别是在工业上取得了空前的发展提高,特别的是 Android 手机作为与大众最息息相关的互联网终端,得到了最大化的发展和运用。巨大进步的同时不难看出,信息科技在农业的应用不够广泛层次也较低。为弥补这一不足,本课题实现了一种基于 Android 平台的无线传感温室监控管理系统。Android 是一种基于 Linux 的自由及开放源代码的操作系统,主
16、要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发 1。第一部Android 智能手机发布于 2008 年 10 月,全世界采用这款系统的设备数量已经达到10 亿台 2。2015 年智能手机出货量,Android 市场份额约为 81.5%,iOS 市场份额约为 14.8%。Android 软件开发中使用的语言主要为 Java 语言,Java 语言通用性高开发着众多,语言学习成本较为小,所以市面上 Android 软件数量已经超过 20 万 3。随着电子产业技术发展,软件开发者可以实现高级图形渲染,能够做到优异的用户体验 4。并且 Android 软件特有的内
17、存处理机制,在手机性能允许的条件下可以实现空前的数据并发处理功能,很适合本系统实现的数据可视化以及数据并发传输功能。物联网技术从提出之后就一直受到极大的关注,经过十余年的发展,理论概念已经十分充足,各类硬件的研发也已经进入了量产化阶段。在部分产品量产化的背景下,整体系统价格已经能够被普通大众消费。物联网与 Android 系统平台也有了许许多多的结合,智能家居领域已经可以实现在室内范围的局域网内实现智能设备的控制。在物流领域可以通过各类标签设备,实现物流产品的全程可控,十分高效。近年来物联网得到人们广泛重视的原因是因为物联网技术为人们带来了许多美好的梦想,根据权威专家预测,世界信息化产业在继计
18、算机、互联网与移动通信网络之后的第三次技术浪潮,将由物联网技术引领 5。近年来,物联网技术空前火热,结合手机客户端平台在许多领域都有广泛的运用。特别是在智能家居以及物流管理行业中,起到了很好的实际效果,极大的提高人们的生活质量以及生产效率 6。但是我国作为农业大国,迅猛发展的电子信息技1 绪论2术特别是物联网技术广泛运用与农业生产中的例子并不多见。整体产业电气化、自动化、信息3化程度偏低,存在的粗放式的生产方式。与欧美发达国家在早些年实现的精细化农业管理有很大的差距,显然不足以满足一个大国的实际农业生产需求。国家经济水平上涨,农民生活水平的提高,往往农民也期望能够降低农事活动中的人力物力财力。
19、早期设施农业中的智能温室大多采用有线网络以及 AC 电源供电,系统依赖于有线的供电以及数据传输,能够较为稳定的工作 7。同样受制于有线供电以及网络,施工中的复杂程度相当大,传感器的灵活性也大打折扣,系统维护也需要“牵一发,而动全身” ,在实际使用中很难满足现今要求便捷化、交互性强、可用性高的使用需求 8。为解决上述问题,本文提出一种基于 Android 平台的无线传感温室监控系统,能够打破空间的限制,不需要大面积安装线路,并且可以灵活放置传感器及节点。同时能够实现系统半年以上电池供电,减少资源消耗和后期维护成本。本文实现的基于 Android 平台的智能温室监控系统可以较好的解决以上问题。且
20、Android 软件因为其开发语言的通用性所以开发周期短,开发成本较为低廉。运行设备均为 Android智能手机,用户使用人群基数大。所以本系统也很适合作为此项目的开发平台。本文所述温室,指的是一种能透光、保温、加温,用来栽培作物的设施。可以在不适宜植物生长的季节,提供特定的生长环境,以满足作物生长需要,增加作物产量。多用于低温季节喜温蔬菜、花卉、林木等植物栽培或育苗等。通常出于客户对自身成本收回周期考量,本系统对标客户通常为大、中型农业合作社或者公司。在以往的项目中,客户硬件设施普遍基础较好,例如风机、喷灌、卷帘机都已经具备并可正常使用。通常会根据需要,增加智能控制中心、智能控制柜、传感器及
21、传感网络形成完整的系统。1.2 国内外研究现状1.2.1 国外研究现状美国、荷兰等西方发达国家,在上世纪 80 年代就进行了传统农业向精细农业转型的相关研究,并加大投入积极推进精准农业的全面推广,最终取得了有目共睹的丰硕成果 9。随后,西方发达国家为实现农业的可持续发展,降低农业生产中对环境造成的破坏,通过科学技术的发展来提高生产效率。精准农业也被西方国家放在显要发展位置。起初受技术水平的限制,监测系统对温室的环境参数采用单因子控制,即对温度、湿度、二氧化碳浓度和光照强度等分别进行监测和控制 10。例如,在对温度进行控制时,监测系统只控制温度的变化,而对其他的环境参数不做处理,若要控制4其他因
22、子,需要实施另外的控制过程 11。但由于外界天气的变化会随时影响到温室大棚里的环境,单靠人工采取相应的措施难以办到,再加上各个环境参数之间相互影响,使难度再次加大 12。西方国家早些年依照各种作物的特性,开发出了基于 Android 的温室监控系统。对作物生长环境内的温度、湿度、光照强度等生长参数进行实时监测和控制 1314。美国和荷兰综合利用温差管理技术结合 Android 手机应用,对花卉、果蔬等产品的开花期和成熟期进行自动化控制,来满足生产和市场的需要 15。2015 年,韩国的 Kim, Dong-Eon 等人为了减轻农民的工作强度,为使温室环境能够得到有效控制,让农业生产更加方便,提
23、出了一种基于安卓应用的温室环境远程控制方案。通过传感器采集数据,最终在安卓应用上数字表示温室环境中的信息和控制情况。使用增强现实技术(Augmented Reality 简称 AR)、RTSP 媒体流协议来观察及远程控制温室环境。并且通过屏幕监控由温室内的传感器获得的信息(温度,湿度,照度)并且使用 RTSP 协议在远程传输温室的视频图像。 162016 年西班牙的 Prez-Castroa 和 Snchez-Molinab 等人提出了一种基于物联网的智能安卓灌溉遥控系统,用以提高节水灌溉的精度。包括一套功能齐全的网站远程灌溉系统,SMS 短信远程灌溉系统以及基于手机开发的 Android 平
24、台的自动灌溉手机客户端。实现通过浏览器,电话,短信,手机客户端实现实时信息采集,监控,灌溉等各种方案,利用采集的数据结合作物所需的生长环境要求,实现精准控制功能。 171.2.2 国内研究现状我国对温室的研究最早开始于 20 世纪 30 年代,但由于技术水平的限制,在寒冷的冬季只有耐寒性强的植物能够在温室内生长,而不能提供喜温植物的生长条件。从 20 世纪 70 年代开始,我国开始出现了塑料大棚和日光温室,并将国外的先进技术手段和环境控制设备引入到温室中。随着信息技术革命,国内的信息化产业发展壮大,特别是在“互联网+”发展战略口号后,高水平信息化的发展脚步越来越快。我国的专家学者在引进和吸收国
25、外先进技术的基础上,开始研发和设计适合我国国情、适应我国农业信息化发展方向的 Android 温室监测控制系统,并取得了一定成绩,促使我国农业向产业化、科学化方向发展又迈上一个新台阶 18。由北京工业大学陈桂鹏等人研发的基于 Android 手机农业信息采集系统,针对我国以农户为主的小规模农业生产特点,设计实现了一套低成本的农业环信息采集系统,该系统由环境感知及扩展、数据存储、手机蓝牙通信等基于 ARM 的信息采集终5端与基于 Android 系统的数据管理软件组成,信息采集终端通过蓝牙将感知的农业环境信息传输给 Android 手机,手机端的数据管理软件对农业环境信息进行处理与存储,并利用无
26、线网络功能将数据发送到远程农业环境数据中心 1920。山东省农科院的李佳毅的等人研发的基于 Android 平台的智能温室视频无线监控系统,该系统采用的视频无线监控技术不仅综合成本低,性能更稳定,而且易于扩展,有效地解决了温室中不方便使用有线网络的问题,与本系统相比传统的视频监控系统一般采用台式机作为监控终端,需要在指定的地点并且有专用网络设备支持的情况下才能对目标现场进行监控,大大限制了监控系统的应用范围和灵活性 21。2015年,陈详等人根据国内温室现状提出了一款基于物联网的智能温室监控系统,该系统可实现远程控制,具备较高的扩展性和实用性,该系统通过Ajax实现了数据的局部更新,优化了管理
27、平台,根据实际应用经验,系统设计了完整的控制逻辑,手动和自动可自由切换,并引入了复杂的温控数学模型,在实际应用中得到了验证 22。2016年,南京农业大学古炜豪等人针对温室作物信息实时采集的需要,设计了基于安卓手机的信息实时采集系统。系统用一台智能小车完成信息的采集,智能小车以ARM9 处理器为核心构建硬件平台,以Linux 操作系统构建软件平台;系统采用安卓手机作为控制和信息传输终端,设计的安卓手机控制软件通过手机无线操作模块对温室的执行部件进行控制,采集的信息也通过无线方式传回手机。系统可以通过智能小车上安装的多种传感器采集信息,并通过安卓手机控制智能小车行走,从而完成对整个温室作物信息的
28、实时采集 23。为此,本系统提供了一种更好实现在小带宽下实现可交互式的数据展示模块,更清晰、功能丰富的视频监控模块,具备云语音的智能设备控制模块。实现后台消息报警推送、富媒体推送功能,还具备二维码扫描等等丰富接口模块。1.3 课题研究目的和意义我国农业长期存在规模小、水平低的问题,农业机械化、信息化普及率低、发展缓慢。在“十三五”规划中,将农业信息化提升为我国国家发展战略 24。目的以逐步实现信息化带动包括农业机械化在内的产业提升,逐步将我国目前存在的传统农业过渡到现代化信息农业的过程,是充分利用现代信息技术来改造传统农业从而更加有效地应对自然风险和市场风险,追求更高的农业经济效益促进生产发展
29、,提高农民收入。我国目前大部分温室还是传统意义上的简易温室,并且温室环境的各项指标采集需要耗费大量劳动力,简易温室能够取得收效的多少取决于农业从业人员的经验。6传统温室显然已经不足以满足精细农业生产的发展趋势。所以需要一种能够基于Android 手机客户端的,能够实现数据自动采集、智能控制的温室系统已经是大势所趋。本文提出的系统,旨在通过软件工程技术以及物联网电子信息技术在农业生产中进行合理运用,将各类传感器广泛地采集温室环境信息、视频监控信息等农业相关信息,建立一个可管理的 Android 智能温室监控管理平台。利用信息技术及互联网技术,将从温室内获取的空气温湿度、土壤温湿度和光照强度以及温
30、室外获取的风速、风向和小时降雨量等海量农业信息进行分析处理,实现农业产前、产中、产后的过程监控、科学管理和即时服务,为实现温室综合生态信息参数的自动监测、温室环境的自动控制和智能化管理提供科学依据和装备 2526。目前,国内所研究的基于物联网的智能温室管理系统已经有实际项目用于实践,项目整体较为成熟。但是不难发现还有部分技术及功能有待完善,传统智能温室采用电脑客户端,有造价昂贵、集成度低、使用复杂和维护困难的缺点。而且还具有不能随身使用,在温室内不能操作,不能实时提醒用户,需要建立单独网站以供展示等不足不能切实起到“工具”的作用。Android 作为一个强大的平台,能够极为有效的作为中间件很好
31、的融入系统,完善系统并实现更丰富更具有物联网特性的功能。1.4 课题优势与面临困难基于 Android 的无线温室管理客户端与传统物联网温室管理系统相比,更能结合当前最新信息化技术,能够 24 小时起到管理系统的作用,同时能够节省资源,为农户增产增收起到作用。Android 无线传感网络在智慧农业中主要优势有以下几个主要内容:(1)作为一个随身移动平台,系统能够随时随地被查看、被管理,可以在温室内实时查看温室内各项环境因子参数信息。用户黏性强,能够随身携带,且不需要另配置价格不菲的计算机及显示设备。(2)以往在电脑端,系统客户端非常庞杂,需要软件环境并且不确定因素和使用异常现象非常多。而在 A
32、ndroid 移动端仅需要安装应用包即可使用,并且客户端不需要进行维护,节约使用者维护成本。(3)传统物联网温室管理系统各个功能模块,甚至是由多个软件拼接而成。本系统软件集成度高,各模块紧密相连。如数据查看,智能控制,专家指导,视频监控等功能都集成在一个应用中。7同时可以发现农业物联网由于工作条件较为恶劣,特别在产品稳定性等方面还有待提升,仍然很多问题有待解决,主要面临的困难如下: (1)软件使用的底层采集网络系统整体较为稳定,但是在夏季特别是高温高湿条件下稳定性大打折扣。高温对于传感器采集的数据信息也会出现较大偏离,对于独立供电的电池也会造成永久性的损坏。能够提高在极端天气下的硬件稳定性无疑
33、是现阶段温室智能设备网络的研发主要攻坚方向。(2)软件界面往往决定了用户的第一印象。一个美观、设计人性化的 UI 界面无疑很能够提升用户体验,调高用户粘性。但是对于程序开发者往往对于界面的美工基础较为薄弱,后期版本更新也将会投入精力进行美工工作。1.5 论文主要内容及章节安排主要章节安排如下:基于安卓平台的无线传感温室监控管理系统研究现状及问题提出总体方案设计相关技术介绍应用分析总结展望总体方案实现1 绪论2 安卓开发技术和相关理论的介绍3 安卓无线传感温室监控系统总体设计4 系统平台及功能模块的 设计和实现5 系统应用分析6 论文总结与展望图 1.1 论文章节安排Figure 1.1 Arr
34、angement of paper chapter详细介绍:第 1 章,绪论部分介绍了课题的研究背景,研究课题的目的与意义,国内外研究现状。同时提出了研究课题的优势与不足,并介绍了本课题的研究流程安排。第二章,本章重点介绍了 Android 系统及数据库相关技术理论,还介绍了系统8的需求分析。详细叙述了 Android 系统的构架和四大程序组件,简要说明了活动的生命周期理论。分析了采用本系统为开发平台的具体优势。进行了云端数据库的分析与选择,进行了优劣对比。第三章,本章首先提出了本系统的软件系统研究方案,再进一步详细叙述了系统设计方案。根据本系统设计要求叙述了系统数据及视频系统设计方案,报考无
35、线传感拓扑结构,视频流压缩标准的选择。还有视频图像采集系统的原理和设计方案。第四章,本章详细的介绍了本系统的实现。主要分为软件实现以及硬件实现。首先介绍了本系统的数据库设计方案,其次介绍了系统的各功能模块,并在下文进行了详细的分析论述。介绍了模块的设计思路和方案,进行了系统优化。介绍了配置 Andriod 系统应用软件开发平台,做到功能需求与软件界面设计匹配;在现有智能温室大棚数据基础上共享数据资源并整合实现移动端数据库修改及控制功能;版本维护与更新等功能。介绍了功能的实现,基于云平台数据库的搭建,实现数据可靠处理的同时,提高了数据的安全性和实用性。逐步完善功能提升系统稳定性及后续更新灵活性。
36、完成数据采集查询、数据信号源指示、历史数据查询、异常状态告警、声光找寻功能、后台提醒功能和自动化专家指导等功能。第五章,本章主要介绍了系统的实际应用情况。首先介绍在真机测试环境下得出的兼容性测试数据以及性能报告。进行了数据稳定性测试及视频稳定性测试,并得出系统主要功能稳定性分析报告。各项数据通过测试得出性能稳定,数据收发情况良好,图像质量稳定优异。测试得出数据丢包率较小,能够很好的满足数据传输的需要。传感器具有独立供电的特点,依靠内置的锂电池供电,一次充电可以实现 150 天以上的工作电量。视频监控的实际应用中,Android 手机能够很好的实现 3G、4G 以及 WIFI 条件下实现对温室内
37、整体情况以及作物长势进行查看,图像清晰,云台控制流畅。第 6 章,本章主要介绍了系统的实际应用情况。为弥补以上缺点与不足,本文设计并且搭建了基于安卓的无线温室监控管理系统。系统由底端无线传感器、网关、中继以及无线控制器构成的传感网络实现环境数据的采集,由工控机汇总数据输送至云端服务器,最后由 Android 端实现数据可视化,实现对温室电器设备的无线控制。为了近一步的简化系统减少温室内过多的线路设置,摄像头采用高清网络摄像头,基于局域无线网的传输技术可以实现在 Android 手机端实时获取温室内的图像信息以及其他丰富的功能。视频图像清晰稳定,可以对温室整体情况进行监视,可以以图像的形式查看各
38、类电器设备运行状况。安卓系统中软件实现方面主要包括客户端、服务器端、项目地控制中心、数据9接口等方面。除少部分工具库文件(library 库)及第三方 SDK 外,代码实现均由本人独立完成。2 系统的相关技术理论102 系统的相关技术理论2.1 引言伴随着信息技术水平突飞猛进,特别是“互联网+”行动计划的提出,信息产业在各行各业都得到充分的重视。Android 手机作为与大众最息息相关的互联网终端得到了最大化的发展和运用。Android 技术及其硬件平台开放性强、集约性高和使用便捷的优点在智能客户端领域占有重要位置。本章首先介绍了 Android 系统,从系统概述、系统构架以及系统优势等多个方
39、面介绍了 Android 系统,对比常用的几种移动智能客户端系统,突出了本文选用安卓系统的原因。2.2 Android 系统2.2.1 Android 系统概述Andy Rubin 于 2013 年 10 月创立了 Android 公司,并在成立 22 个月之后,于2005 年 8 月被 Google 收购, Google 继续交由 Andy Rubin 公司发布了基于 Linux 内核的自由及开源的智能操作系统 27。Android 系统最开始只支持用于智能手机设备,现今 Android 系统几乎可以安装在任意智能设备上,现在的 Android 系统是真正意义上开放开源的智能移动终端开发平台
40、,目前绝大多数手机制造商都采用了 Android 系统,并且除智能手机以外,部分平板电脑也采用了 Android 操作系统 28。其应用程序的开放性、设备陪适性强以及开发周期短的特点,给用户和开发人员带都来了全新的体验。在其官方网站上是这样描述安卓操作系统的, “安卓平台是由多层叠加而成的,开发人员通过使用安卓 SDK( Software Development Kit),软件开发工具包)来创建应用程序的平台,应用程序是由 Java 语言编写的,在Dalvik(用于安卓平台的 Java 虚拟机)上运行,它是运行在 Linux 内核上的” 29。2.2.2 Android 系统构架Android
41、 系统的架构为分层架构,可以很形象的认为是多层的蛋糕,从底部到顶部分别是是 Linux 内核(LinuxKernel)、函数库(Libraries)和 Android 运行时(AndroidRuntime)、应用程序框架 (ApplicationFramework)和应用程序(Application) 30。每个层级之间界限并不十分明确,功能有相互融入的功能,每个层级有其自己的主要功能特点,其系统架构图如图 2.1 所示 31:2 系统的相关技术理论11图 2 .1 Android 系统架构图 Fig2.1 The architecture diagram of Android system(
42、1)Linux 内核(LinuxKernel )Linux 内核主要负责系统及硬件底层服务,包括进程、内存管理和硬件驱动等。实际上,它处在系统硬件与软件堆栈之间,是一个内部抽象层 32。(2)函数库(Libraries)函数库很多内容是由 C/C+语言编写的核心库文件,并且可由开发者自由开发,这些库文件能被系统组件随时调用。要想使用内部核心库可以直接声明,外部库需要导入到源程序指定库文件夹内才能够被调用 33。(3)Android 运行时(AndroidRuntime)AndroidRuntime 由 Android 核心库集与 Dalvik 虚拟机两部分构成 34。该核心库包括了 Java
43、语言核心库所使用的大多数功能。Android 应用程序虽然是用 Java 语言编写的,但并非使用传统的 Java 虚拟机执行,而是在定制的 Dalvik 虚拟机中编译和2 系统的相关技术理论12执行的 35。每个应用程序都有一个独立的 Dalvik 虚拟机实例,并且运行在自己的进程中 36。(4)应用程序框架(ApplicationFramework)ApplicationFramework 是 Android 开发的基础,它使程序员拥有与核心应用程序相同的 API 框架访问权限,并且简化了应用程序组件的重用 37。每个应用程序都可以对外发布自己的服务功能,其他应用程序都可以在满足框架安全性要
44、求的条件下调用和使用这些服务功能 38。(5)应用程序(Applications)Android 系统原生自带一些用户初装必备的基本应用程序。所有应用软件均由Java 语言开发,同事必须是运行在 AndroidRuntime 内的虚拟机 Dalvik 上,主要包括E-mail(电子邮件) 、Browser(浏览器) 、SMS(短信) 、Phone(电话程序) 、Contact(联系人)管理程序等 39。2.2.3 Android 应用程序组件Android 应用程序是指开发者使用 Java 语言在例如:Eclipse 或者 Android Studio上开发的应用程序。在程序代码中,没有如同
45、Java 程序中的 main()方法一样的主程序入口。Android 应用程序一般由一个或多个不同功能的组件组成,其核心组件包括Activity(活动) 、Service (服务) 、BroadcastReceiver (广播接收器) 、ContentProvider(内容提供者) 40。每个组件提供不同的功能,并且 Android 程序是可以层叠。每开启一个新的活动,就会覆盖在原活动上。点击返回就会销毁在栈顶的活动,下面的一个活动就会重新显示在屏幕上 41。具有鲜明的生命周期定义该组件是如何被创建和销毁的。组件的使用必须在 Android 配置清单 AndroidMainfest.xml文件
46、中进行注册方可运行,否则使用未注册的组件则无响应在调试时报错 42。(1)Activity(活动)Android 组件中 Activity 无疑是出现频率最高的组件。为用户提供可视化界面,主要用于处理前端事务,通常一个 Activity 就是意味着一个手机界面,是一个可视化的区域,开发者能够在 Activity 内放置系统 API 提供 TextView、ImageView 以及形式多样的自定义控件来设计视图效果 43。绝大多数应用程序会含有多个 Activity,并且通过 Intent(意图)等方法来实现 Activity 之间的跳转及信息传递,还可以使用Bundle 向前或者向后 Acti
47、vity 传递数据实现程序的交互。Activity 初始化每一个的初始化比较复杂,包括创建一个新的 Linux 进程、所有用户界面对象的内存分配、解析 XML 文件和图像渲染等,如果每次离开一个 Activity就将其销毁将造成很大浪费,所以 Android 使用 ActivityManger 机制来自动管理2 系统的相关技术理论13Activity 的生命周期 44。机制主要是通过对内存堆栈方式来管理所有的 Activity。在手机内存允许的情况下,会记录从主页面到每一个应用的每一个运行过的 Activity。如果内存不够则记录的未被销毁屏幕会很少,甚至没有记录 45。Activity 生命
48、周期如图 2.3 所示。 ActivtySarsActivty isshudownonCreat()onStar()onResume()onPause()onStop()onDestroy()Activty isrung另 一 个 Activty转 入该 之 前Proces iskild内 存 低由 用 户 操 作 返回 该 Activty该 Activty以后 都 不 可 见该 Activty再次 返 回 前 台该 Activty再次 返 回 前 台onRestar()图 2.2 Activity 的生命周期Fig2.2 The life cycle of Activity(2)Servic
49、e(服务)Service 是 Android 中实心程序后台运行的解决方法,是无可视化界面的应用程序组件 46。适合处理一些不需要和用户交互并需要长期运行的操作。与 Activity 相比,Service 的生命周期相对简单。一般情况下,Service 的生命周期受开发人员控制较多,当对应的应用程序被杀死后,Service 也就停止了。开发者在优化代码时,需要考虑到 Service 的生命周期,避免不必要的资源浪费,能够减轻内存和 CPU 的占用。2 系统的相关技术理论14(3)BroadcastReceiver(广播接收器)为方便进行系统级别的消息通知,Android 也引入了一套类似于 IP 网络广播地址数据的广播消息机制。Android 中的广播机制会显得更加的灵活,因为每个应用程序都可以感兴趣的广播进行注册。开发者可以在一个应用程序中添加多个广播接收器,还能够使广播接收器为任何特定广播消息做出相应。(4)ContentProvider(内容提供器)内容提供器,主要用于实现在不同应用程序间实现的数据共享 47。安卓