GPS车辆应用系统andriod毕业论文正文.doc_第1页
GPS车辆应用系统andriod毕业论文正文.doc_第2页
GPS车辆应用系统andriod毕业论文正文.doc_第3页
GPS车辆应用系统andriod毕业论文正文.doc_第4页
GPS车辆应用系统andriod毕业论文正文.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

装订线毕业设计(论文)报告纸 目录目录1第一章 绪论31.1国内外发展状况:31.2课题背景:41.3论文内容安排:5第二章 需求分析与建模62.1引言62.2总体需求62.2.1研究内容62.2.2研究方案62.3系统的详细需求62.3.1客户端的软硬件需求62.3.2发送端(sender)具有获取GPS信号的功能72.3.3发送端(sender)具有显示地图功能72.3.4发送端(sender)刷新当前位置功能72.3.5发送端(sender)具有跳转带发送短信的界面功能72.3.6发送端(sender)导入发送目标的联系方式功能72.3.7发送端(sender)具有发送短信的功能72.3.8接收端(receiver)具有接收短信的功能72.3.9接收端(receiver)具有解析短信内容功能82.3.10接收端(receiver)具有定位显示地图功能82.4软件的UML模型82.4.1发送端的用例图82.4.2接收端的用例图8第三章 GIS与android系统概述93.1 Gps:103.1.1 GPS介绍103.1.2 GPS卫星信号103.1.3 GPS的特点113.1.4 GPS的应用113.2 android113.2.1 android系统介绍113.2.2 android平台优势123.2.3 android系统的构架133.2.4 android应用程序的构建143.2.5 android类库153.3 Android系统与GPS技术的结合15第四章:总体设计和概要设计164.1引言164.2体系结构设计164.2.1系统概述164.2.2系统构架图174.2.3开发,运行,测试环境的配置174.3功能设计:184.3.1设计的框架图184.3.2 流程图194.4用户界面设计204.4.1 发送端204.4.2 接收端214.5本章总结22第五章 编码实现225.1开发环境介绍225.2开发进度安排225.3模块开发225.3.1获取GPS模块并实现定位:225.3.2发送短信模块255.3.3导入联系人模块275.3.4接受短信模块295.3.5解析短信模块305.3.6短信列表模块315.4系统集成开发325.5本章总结35第六章 软件测试356.1引言356.2测试规格说明366.2.1软件测试概述366.2.2需要测试的功能376.3测试环境386.4测试用例、方法、过程说明386.5测试总结和评价436.6本章总结43第七章 总结437.1 本次毕设的总结437.2编程中遇到的问题437.3 软件未解决的问题467.4 软件研究展望46参考文献:46致谢:47 第一章 绪论1.1国内外发展状况: 大城市道路交通的有效管理、社会及公众高品质交通服务和政府相关科学决策一直是我国城市社会及经济有序高效发展的热点和难点问题。通过研究和开发先进的交通状态获取与融合、交通特征提取与态势分析以及集成应用基础技术,建立符合我国国情的多粒度区域交通状态评估、预报预警和服务水平评价关键技术和系统则是缓解和解决上述问题的基础和不可或缺的技术手段。随着经济的高速发展和城市化进程的加快,交通运输的压力不断加剧,交通拥挤和堵塞的现象越来越普遍,严重影响了人们的生活,制约了社会的生产。如何科学的引导车辆的出行,避开拥挤路段,提高道路通行能力,是现代社会亟待解决的重要问题。与此同时,随着机动车辆的数量日益增多,许多与汽车密切相关的行业迅速发展壮大。例如,出租车,公交汽车,旅游客运,银行,医院急救,物流以及机械施工等诸多行业面临着所辖车辆机动性强,数量众多,难以管理的棘手问题。另外,有的行业对于安全性的要求很高,比如运钞车,夜间出行的出租车,运送重要物资的货车等等。如何有效的控制和管理这些车辆,对车辆进行合理的调度,提高车辆的利用效率以及保证车辆的行驶安全,已成为政府和公众所关注的热点问题之一。交通运输是城市的命脉,是国民经济和社会发展的基础。随着社会经济的不断发展,汽车已经成为现代交通运输不可或缺的重要工具。据德国汽车工业协会(VDA)的统计,仅2004年,全世界投入使用运行的汽车总数量已突破85亿辆大关。汽车数量的骤增势 必会对交通运输产生很大的压力,也对城市的发展和人们的生活提出了严峻的挑战。我国改革开放30年来,人们的生活发生了翻天覆地的变化,消费水平也有飞跃性的提高,汽车的购买已经不再是很多人可望而不可即的事情了。随着中国加入WTO,国内汽车市场的需求空间潜力巨大。公交车辆的增多,道路的老化,交通问题不可避免的凸现出来。交通效率成为让人们头疼的问题。车辆监控系统的应用,可以有效的缓解这一问题。例如,北京奥运会期间,奥运服务车上都安装了车载GPS,监控中心通过对车辆的准确定位,结合道路监控录像,准确下发实时路况信息,有效的避免了服务车辆因交通堵塞而发生的潜在事故。 随着交通运输行业的发展壮大,车辆的有效控制和管理越来越受到相关人员的关注。出租车公司,银行等希望实时监控车辆的位置,保证车辆的安全;公交公司希望根据车辆的位置和路况信息安排发车的间隔时间;施工单位希望监控机械工程车辆,根据其分布密度做出合理的调度;货运公司希望货车沿着指定路线行驶,以防司机私改路线等等。 另外,我国流动人口众多,社会治安形势严峻。偷窃、抢劫车辆的案件时有发生。司机遇到困难或者危险的时候,希望能与外界快速取得联系,获取帮助,紧急情况时公司也希望能对车辆进行定位搜索。综上所述,车辆监控系统的研究有着重要的现实意义,它有效的缓解了交通压力,提高了汽车使用效率,对车辆进行控制和管理以及合理的安排,保证了车辆的安全。作为车辆监控的核心技术,车辆定位的有效性和成本控制更显得至关重要。1.2课题背景:GPS车辆应用系统一般分为两大类:车辆监控系统和车辆导航系统,两者的研究和发展相辅相成。现代车辆监控系统的雏形始于上世纪六十年代,美国联邦高速公路委员会开始了车辆电子路径制导系统(ERGS)的研究计划。到了七十年代,随着微处理器的出现,日本和欧洲加入到车辆导航与监控系统的研究中,从而推动了车辆监控技术的发展。七十年代末到八十年代初,出现了第一代采用航位推算和早期地图匹配方法的实验系统。八十年代末,GPS卫星定位技术的成熟,使其在车辆监控系统中得到了广泛的应用。但车载GPS接收机通常受到卫星信号状况和周围环境的影响,在不同的时间及不同的地区卫星信号的状况差别很大,特别是在城市地区,由于高层建筑、隧道以及起伏地形的遮挡,GPS信号强度有时只达到海用和空用GPS信号的25%,建筑物的多路径反射也对信号造成很大干扰,导致有时定位精度较低、可靠性不高。随着GPS定位技术的发展与GIS技术的出现,从九十年代初开始,为了适应新兴的智能运输系统对车辆定位与调度技术的要求,国外开展了以GPS定位技术为主的导 航与定位系统的应用研究。目前推出的有法国的CARMINAT车辆定位与调度系统,美国General Motor公司研究实验室研制的TravTek车辆定位与调度系统,日本SUMITOMO电子公司研制的CruiseMate SNVAD20汽车电子导航系统,Liikkuva公司采用GPS和NavTech地图导航数据库的StreetPC98车辆导航系统,美国Clarion公司开发的基于WinCE操作系统的AutoPC车辆定位与调度系统,美国Clarion公司的TravelPiolt RGS08车辆定位与调度系统以及Street Guard车辆导航与监控系统,这些系统的共同特别是能提供精确、连续、直观的车辆位置,并且定位与监控系统的稳定性和可靠性也大大提高。我国GPS车辆监控系统始于上世纪九十年代初期。由于当时市场尚未形成,用户还没有迫切需求,而且技术途径尚不完善,做成的大多是实验室内刚出笼的,还达不到商品化程度,所以成功者不多。19961998年期间,GPS车辆监控系统市场经历了整顿、巩固、充实和提高,在对原有的不良系统进行改造的同时,也有新的系统相继出现,还有多个具有水平的集群系统出现。19992000年GPS车辆监控系统市场又出现了新的一波,出现了快速增长的势头,此时的市场逐步趋于成熟,我国的GPS车辆监控系统的技术有了较大的提高与发展。值得指出的是,在GPS车辆监控系统上,我国在应用面和规模上在国际上居于领先地位,但是从系统的技术水平和产品的质量和成熟程度来说,我们还处在发展时期。本课题设计初衷为公交车公司实现对公交车追踪定位服务而设立,公交车公司可以通过本软件收集到众多公交车传回的数据,进行整理,定位显示,确保公交车运行在公交车公司的控制范围之内,达到一定的监控功能,对车辆进行控制和管理以及合理的安排,可以有效的缓解了交通压力,从而提高了公交车使用效率。当然本课题的应用范围还可以延伸至普通百姓的生活中,比如向好友分享位置或想知道好友的位置在哪;如果用户迷路了或是遇到危险但又不知道所处位置,你可以使用开发软件定位求救,使救援人员很快就能赶到现场。将android与GPS技术结合深入研究,为广大人民带来很多方便。1.3论文内容安排: 第一章是绪论,主要介绍本文的课题背景、课题的国内外发展现状。 第二章是需求分析和建模,主要内容是在分析系统需求的基础上,对需求进行建模,并用UML对模型进行描述。 第三章是课题的研究基础,主要对本文研究的要点问题进行研究现状的概述。阐述GPS和android的技术基础支持,探讨android手机与GPS技术结合的发展。 第四章是总体设计和概要设计,主要内容是在需求建模的基础上,对系统进行一系列,并给出相应的设计描述。 第五章是系统编码实现,主要内容是对系统的开发进度,编码思想以及开发中遇到的问题进行描述。 第六章是软件测试,主要内容是对系统进行白盒测试和黑盒测试,并给出缺陷的解决办法。 第七章是结论,主要内容是系统的设计和编程中遇到的一些问题以及对以上各章的工作进行总结,并给出论文的结论。 第二章 需求分析与建模2.1引言本章主要内容是对“基于android平台的公交车跟踪软件设计”的需求进行详细的分析,还会在此基础上对本系统的各个功能进行建模分析,并绘出相应解释模型使用的用例图、序列图等UML模型。2.2总体需求本软件主要是利用基于安卓平台的移动设备采集公交车位置信息,通过短信或微信等通信信道发送位置信息到另外一台移动设备,并在设备中的电子地图上显示其位置和移动的轨迹。2.2.1研究内容1、基于安卓系统的GPS信息的获取和发送;(手机GPS位置信息的获取和发送)2、基于安卓系统的GPS信息的接受和定位显示。(接收并显示另一台手机发送来的GPS位置信息到地图上)软件条件:安卓开发平台硬件条件:安卓移动设备(安卓手机)2.2.2研究方案1、 熟悉GPS的原理;2、 掌握安卓系统的编程方法;3、 从手机中提取GPS定位数据,4、 将GPS定位数据以短信或微信方式发送;5、 用手机接收并解码以短信或微信方式传送的GPS数据6、 将数据显示在手机地图上(百度地图)。2.3系统的详细需求2.3.1客户端的软硬件需求本软件设计开发出两个客户端供用户使用,一个是发送端(sender),一个是接受端(receiver)。两个客户端都是只能在具有android系统的手机上使用,手机必须是连接上正常网络的状态,否则无法下载地图实现定位显示功能。 2.3.2发送端(sender)具有获取GPS信号的功能 客户端发送端必须具有获取GPS信号的功能,当点击获取信号的按键是,软件会自动通过连接网络获取手机所处位置的经纬度,并将信息取出来。 2.3.3发送端(sender)具有显示地图功能发送端在获取到本机所处地理位置的信息后,调出关键信息经纬度,通过百度地图API实现在发送端显示百度地图,确定并显示当前位置的功能。 2.3.4发送端(sender)刷新当前位置功能 发送端设置一个功能按钮,实现单击此按钮会使界面刷新客户端当前位置,并显示地图位置,确定坐标。 2.3.5发送端(sender)具有跳转带发送短信的界面功能 发送端通过一个BUTTON控件,使当前地图界面跳转到短信发送的界面,并将地图API获取的数据传递到短信内容中去。 2.3.6发送端(sender)导入发送目标的联系方式功能1直接在电话编辑框中输入联系人方式2. 设计一个功能按钮,导入手机联系人列表,通过选取联系人使其联系方式在跳转回短信界面时导入到特定的联系人方式中去 2.3.7发送端(sender)具有发送短信的功能发送端必须将短信内容包含坐标信息,按照联系人方式发送到特定的联系人手机上。 2.3.8接收端(receiver)具有接收短信的功能接收端必须具有接收短信功能,接收另一端发送的短信。 2.3.9接收端(receiver)具有解析短信内容功能 接收端接收到短信必须能够读取短信内容,并解析出短信中的坐标信息,从而才能为定位铺下基础 2.3.10接收端(receiver)具有定位显示地图功能接收端在接收并解析出短信中内容后,必须能够根据得到的信息去定位该坐标,并在地图中显示出来2.4软件的UML模型2.4.1发送端的用例图 图2-1 发送端用例图2.4.2接收端的用例图 图2-2 接收端用例图3.4.3软件设计的活动图 图2-3 系统活动图 第三章 GIS与android系统概述3.1 Gps:3.1.1 GPS介绍 GPS即全球定位系统(GlobalPositioning System),是美国从20世纪70年代开始,历时20多年,耗资逾200亿美兀建立起来的新一代卫星导航定位系统。系统的组成:整个GPS系统分为空间卫星星座、地面监控站和用户设备3个部分。GPS卫星星座由24颗工作卫星组成,个轨道面分布4颗。其中3颗为备用卫星。工作卫星分布在6个等间隔的轨道面上,每卫星轨道面相对地球赤道面的倾角为550,为600。轨道高度约为20200km,卫星运行周期为11小时58分。各个轨道面之间的交角GPS空间卫星星座的分布保障了在地球上任何点、任何时刻至少有4颗卫星被同时观测。3颗备用卫星可以在必要时代替发生故障的卫星,保障了GPS空间部分正常而高效的工作。GPS卫星的基本功能包括:接收和存储由地面监控站发来的导航信息,接收并执行监控站的监抓指令;通过内设的微处理机进行必要的数据处理;通过星载的高精度艳原子钟和铆原子钟提供精密的时间标准;向用户发送定位信息;在地面监控站的指令下,调整卫星的姿态和启用备用卫星。地面控制部分由1个主控站,5个全球监测站和3个地面控制站组成。5个监测站均配有精密的艳原子钟和能够连续测量到所有可见卫星的接受机。原子钟提供时间标准。接收机对GPS卫星进行连续观测,以采集数据和监测卫星的工作状况。监测站在取得卫星观测数据,并经过初步处理后,将其传送到主控站。主控站从各监测站收集观测数据,计算出卫星的轨道和时钟参数,然后将结果送到3个地面控制站。地面控制站的主要任务是将主控站推算和编制的卫星星历、时钟差、导航电文和其它控制指令等注入到相应卫星的存储器。整个GPS地面控制部分,除主控站外均无人值守,各站之间通过现代化的通信网络相互联系。3.1.2 GPS卫星信号GPS接收机接收到GPS卫星播发的信号,经过相关处理就能测定由卫星到接收机的信号传播时延,或测定卫星载波信号相位在传播路径上变化的周数,解算出由接收机到卫星的距离(因含误差而被称为伪距),从而确定GPS接收机的位置。GPS卫星信号是GPS卫星向广大用户发送的用十导航定位的调制波,它包含有:载波信号(L1和L2)、测距码(C/A码和P码)和数据码(D码,亦称基带信号),所有这些信号都是由一个时钟基准信号产生出来的。Ll载波上调制有C/A码、P码和D码,L2载波上调制有P码和D码。GPS卫星的测距码和数据码是采用调相技术调制到载波上的。其中,C/A码是用十粗测距和捕获GPS卫星信号的伪随机码。P码是卫星的精测码,码速率为10. 23MHz。 D码是卫星以二进制码的形式发送给用户的导航定位数据,又称为导航电文或数据码,它是用户用来定位和导航的数据基础。3.1.3 GPS的特点 GPS系统以高精度、全天候、高效率、多功能、操作简便、应用广泛等特点著称,GPS能连续为各类用户提供二维坐标及精确的时间信息,定位观测时间比以往的任何一个卫星定位系统都要短。GPS测量点之间不要求相互通视,只需上空开阔即可,因此完全可以根据工作需要来灵活选择测量点。随着GPS接收机不断改进,其体积越来越小,重量越来越轻,自动化程度越来越高,这极大减轻了测量工作者的劳动强度和工作难度。GPS测量工作,可以在任何地点、任何时间连续进行,一般不受天气状况的影响。3.1.4 GPS的应用GPS系统的建立,给导航和定位技术带来了巨大的变化,可以满足不同用户的需要。用GPS信号可以进行海、陆、空的导航,导弹制导,大地测量和工程的精密定位,时间传递和速度测量等。在测绘领域,GPS定位技术已用十建立高精度的大地测量控制网,以测定地球动态参数;建立陆地及海洋大地测量基准,进行高精度的海陆联测及海洋测绘监测地球板块运动和地壳形变;在工程测量方面,已成为建立城市与工程控制网的主要手段;在精密工程的变形监测方面,它也发挥着及其重要的作用;同时GPS定位技术也可用十测定航空航天摄影瞬间相机的位置,可在无地面控制或仅有少量地面控制点的情况下进行航测快速成图,引发了地理信息系统及全球环境遥感监测的技术革命。此外,GPS技术还被广泛应用十土地资源管理、地质调查、城乡规划、地形测量、地籍测量以及农林资源调查等方面。进入21世纪,GPS在各方面的应用都将加强和发展。在新世纪里,GPS的应用前景十分广阔。3.2 android 3.2.1 android系统介绍Google于2007年宣布推出一款全新的智能手机操作系统Android。它是首个真正开放和完整的移动软件平台。Andorid平台基于Linux 内核,源码完全开放,具有很好的可移植性和完善的网络支持,能根据需要自由裁剪和定制,灵活度高。基于Android的应用程序开发拥有很大的自由度,其程序也具有很好的扩展性。与Windows Mobile,Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近二成成本。 3.2.2 android平台优势很好的开放性,允许任何厂商的加入,这个优势可以使其拥有更多的开发者,随着用户的增加和应用的口益丰富,Android平台也将很快走向成熟。摆脱了运营商的束缚,让手机更加贴近互联网,可移植性和软件兼容性俱佳,拓宽了软硬件的选择范围,还给第二方开发商提供了一个十分宽泛、自由的开发环境,有利于应用的拓展。与google应用无缝结合,充分利用网络资源。作为一款新型的移动平台,Android还有待进一步发展和完善,目前它正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。GPS领域大厂SirF公司宣布,他们已经收到了Google Android手机平台的SDK软件开发包,会立即开始Android手机GPS功能模块的开发。2008年9月,美国运营商T-Mobile USA在纽约正式发布第一款Google手机一T-Mobile Gl。该款手机为宏达制造,是世界上第一部使用Android操作系统的手机,它支持WCDMA, HSPA网络,理论下载速率为7.2Mbps,并支持WiFio Android平台具有很大的市场潜力,应用开发前景广阔。2.2.3 android平台特征 应用程序框架:用于开发可重用和可替代的组件。Dalvik虚拟机:Android采用了针对移动设备优化过的Dalvik虚拟机。Dalvik虚拟机和标准Java虚拟机(JVM)相比具有更好的硬件兼容性。而且Dalvik是基于寄存器的,而JAM基于栈,Dalvik选择基于寄存器是因为这能更好地实现提前优化(ahead of-timeoptimization),缩短编译时间,从而提高程序的运行效率。集成的浏览器:Android集成了基于Webkit引擎的网页浏览器。Webkit是一个开源浏览器排版引擎。优化的图形系统:Android提供了优化过的图形系统,该系统由一个自定义的2D图形库和一个遵循OpenGLES 1. 0标准(硬件加速)的3D图形库组成。使用SQLite来实现结构化数据的存储:SQLite是一款轻型的数据库,它的设计目标是基于嵌入式的,因此占用资源非常少。SQLite能够支持各款主流操作系统,同时能够跟很多程序语言相结合。SQLite虽然很小巧,但功能齐全,主要功能有:1.媒体支持功能:Android支持各种常规的音频、视频多媒体格式,如MPEG4, H.264,MP3, AAC, AMR,.IPG, PNG, GIF, GSM电话(由硬件决定)。2.网络支持功能:支持蓝牙、GPRS. EDGE, 3G和Wifi无线网络。3.硬件支持功能:支持相机、GPS全球定位系统、导航和感应加速器等各类硬件。4.开发环境强大:Android具有强大的开发环境,包含设备模拟器、各类工具、调试器、内存和性能分析工具,以及Eclipse集成开发环境插件等。 3.2.3 android系统的构架整个Android平台分为五部分,它们分别是:核心应用程序、应用程序框架和纲件、C/C+函数库、Java运行环境、Linux内核。1.核心应用程序Android附带了一些核心应用程序,包括E-mail客户端程序、短信程序、口历、地图、浏览器和通讯录等。所有的Android应用程序都用Java语言进行开发。2.应用程序框架和组件Android应用程序的开发是基于程序框架和组件的,开发人员拥有同核心应用程序一样的API访问权限。程序框架的设计实现了组件的重用,任何应用程序都可以分发自己的组件,也可以使用其它程序分发的组件。用户还可以根据需要替换相应的纲件。应用程序之下是一套系统服务,它们包括:(1) Views-Views组件:功能丰富,扩展性很强,通过它们可以创建列表,网格,文本框,按钮,甚至嵌入浏览器。(2)Content Providers:用于实现不同应用之间的数据共享。(3)ResourceManagers:用于实现对静态资源的访问,这些静态资源包括l冬l像文件、本地字符和布局文件。(4)Notification Manager:应用程序通过该机制在状态栏显示提醒信息。(5)Activity Manager:用于管理应用程序的生命周期。3.库的功能通过Android应用程序框架提供给开发人员。下面是一些核心库:(1) C/C+库:Android包含一套C/C+库,用于构建Android系统的各种组件。(2)系统C语言库:它是由BSD发起实现的标准C库,专门用于Linux嵌入式设备。(3)媒体库:该库支持各类音频格式、视频格式文件以及静态图片文件的播放、回放和录制,包括 MPEG4, H.264, MP3, AAC, AMR, JPG和PNG等。外观管理器一用于管理不同应用对图形显示子系统以及2D, 3D图形层的访问。(4)网络浏览引擎:它是一个先进的web浏览器引擎,用来构建Android浏览器和内嵌的web视图。(5) SGL:隐藏的2D图形引擎。(6) 3D图形库:该库用于3D图形加速或提供高优化的3D软件光栅器。(7) FreeType:用于位图和向量模式字体的绘制。(8) SQLite:一个强大的轻量级关系型数据库引擎,可用于所有的应用程序。 3.2.4 android应用程序的构建 Android应用程序有四个构建块,即:Activity、Intent Receiver, Service,Content Providero Android应用程序不一定同时包含这四个构建块,某些程序可能只用其中几个构建块组合。应用程序的构建块,都要在一个叫AndroidManifest.xml的项目配置文件中列出。这个配置文件用来定义应用程序的组件和各组件的功能。1 Activity Activity是Android应用程序的一种基本构建块。大部分应用程序会同时包含多个activity,每个activity通常都对应一个显示界面。activity以类的方式实现,它继承十基类Activityo activity对应的显示界面内嵌一组Views控件,应用程序通过这些控件与用户进行交流。一个activity可以切换到新的activity,也可以返回前一个activityo Android通过使用intent类来实现activity的切换。intent类似十描述一个activity想要做什么事,它包含动作和与动作有关的数据。与intent对应的类叫intentFilter,它用于描述一个activity能够实现哪些intent请求。intentFilter需要在AndroidManifest.xml中定义,它从属于某个activity。2 Intent Receiver如果要使应用程序能够响应外部的触发事件(如有电话呼入),就可为它定义一个Intent Receiver。虽然Intent Receive:在有事件发生时Manager告知用户,但它并不能AndroidManifest. xml中注册,生成一个对应的用户界面。会通过Notification Intent Receive既可以在也可以直接在代码中使Context.registerReceiver()进行注册。当一个Intent Receive:被触发后,系统会通知相应的程序。应用程序可以通过Context. Broadcast Intent将它的 Intent Receive:发送给其他应用程序。3 Service 应用程序的Service可以不需要用户直接参与而长时间运行。典型的例子就是音乐播放器。在一个音乐播放器程序中有多个activity,它们分别实现了歌曲的选择和播放等功能。然而,音乐重放这个功能并没有对应的activity,它通过Service来实现。音乐播放器程序使用Context.startService()来启动一个service,它可以在后台保持音乐的不断播放。应用程序可以通过Context. bindService ()方法连接到一个service。当service启动后,还可以借助service提供的接口与它进行通信。4 Content Provider Android应用程序可以使用文件、SQL数据库等各种存储系统来保存数据。但是,若想实现不同应用之间的数据共享,就需要用到Content Provider,其提供了一套标准的访问接口,以方便其他应用程序对数据进行访问、操作。 3.2.5 android类库Android为开发者提供了丰富的类库:1. android. app:封装了Android应用程序全局模型的高级类。2. android. content:包含用于设备访问和发布数据的类。3. android. database. sqlite:包含了SQLite数据库管理类,应用程序可以利用这些类来管理私有数据库。4. android. graphics:提供了各种绘图工具,包括画布、颜色过滤器、点和矩形等。5. android. graphics. drawable:提供了用于管理多种可视界面兀素的类。6. android. hardware:提供对硬件设备的支持。7. android. media:提供对多媒体应用的支持。8. android. net:用于网络连接的类。9. android. OS提供设备上基础性的操作系统服务,实现信息传递和进程间通信。10. android. provider:提供用于访问Android支持的内容提供源的类。11. android. speech. recognition:提供用于语音识别的类。12. android. telephony:提供了用于拨打、接收以及监听电话和电话状态的工具。13. android. telephony. grns:提供了用于从GSM电话上控制或读取数据的类。14. android. text:提供了用于在屏幕上绘制或跟踪文本和文本跨度的类。15. android. text. method:提供了用于监听或修改键招输入的类。16. android. text. style:提供了用于预览或修改视图对象中文本跨度形式的类。17. android. view:提供了用于处理屏幕布局和实现用户界面的类。18. android. view. animations:提供了控制显示界面中动画效果的类。19. android. webkit:提供了浏览网页的工具。20. android. widget:提供标准用户界面兀素,如列表、按钮,布局管理器等。进行Android应用程序开发时,除了可以得到以上Android类库的支持,还能使用一些通用的Java类库,比如java. io, java. lung, java. math等。3.3 Android系统与GPS技术的结合随着通信技术的发展,GPS系统将成为手机的标准配置,手机不仅仅只具有通信功能,还可以当作一个GPS定位系统。GPS技术从诞生之日起,怎样促进其大规模商用就一直是产业链中各厂商努力的焦点,而随着GPS手机的开拓应用,众厂商的焦点就开始随之转移。作为GPS手机,它的出现对于导航地图软件厂商而言,是一个不可忽视的大市场,同样对于手机厂商而言,不断开拓新需求、寻找更大潜力的细分市场也是重中之重。如今的手机增值市场,可供挖掘的空间已经不多,彩信、彩铃等业务都已经被广泛应用,而手机GPS如同雨后春笋一般迅速发展起来。2011年,中国GPS手机市场获得长足发展。作为一个刚刚兴起的市场,GPS手机正以惊人的速度成长。随着用户需求的不断提升,技术的不断演进,手机作为方便快捷的移动载体正在不断融合更多的应用。GPS导航功能是继拍照、音乐之后有望再度引发新一轮手机更新换代热潮的创新功能,凭借功能实用性强、贴近用户需求等鲜明特色,GPS手机正成为市场新宠。一方面,GPS手机产业成熟度正快速提升。另一方面,带GPS功能的手机终端种类逐渐丰富,终端瓶颈问题将得到缓解。手机发展的未来是多样化的,低端通话功能的手机会继续生存,同时具有更多功能的手机会很快发展。手机平台上的GPS应用将不断得到开拓。但就目前看来,手机GPS功能主要还是应用在个人的定位、导航方面,其它GPS应用的发展还是跟不上手机发展的整体步伐,随着生产成本的降低、硬件功能的加强,手机GPS将会有更为广阔的应用领域。 第四章:总体设计和概要设计4.1引言本章的主要内容是对本软件的设计进行深入的探讨,研究体系结构设计,部分模块设计,界面设计等设计。这些设计将会为以后的编码打下良好的基础,并对各项功能的实现进行铺垫,当然也有助于日后软件的使用与维护。4.2体系结构设计4.2.1系统概述 随着社会的发展,老百姓们的生活水平日益提高,百姓们对手机使用的普遍率也会日益提高。当我们处于某个公交车上时,我们的亲人或朋友想获得我们时刻的坐标信息时怎么办?当我们迷路了怎么办?当我们在公交车或是出现事故而别人不知道我们坐标信息时怎么办?这一系列问题是很常见的。基于android平台的公交车跟踪软件设计就是为解决这些问题而诞生的,只要你有android手机,你可以随时随刻使用本软件,将自己的坐标信息发送出去,使你的亲人朋友随时随刻能够关注到你位置信息。4.2.2系统构架图 图4-1 系统构架图本系统的物理构架主要是由客户端发送端,客户端接收端,通信网络三大主要部分组成,具体功能介绍如下:1.发送端:发送端首先需要确保具有无线信号,能够从卫星上获取本机所处的地理位置GPS信号,从中提取出所需要的必要信息:经度纬度,并将信息导入地图实现定位,从地图中显示出当前正确的位置。2.通信网络:通信网络是能够实现两个客户端之间信息的正常传递,确保将获取的信号能够准确成功的发送到另一个客户端。3.接收端:接收端也是必须确保具有无线信号,能够将信号塔传来的信息进行解析,获取其中隐藏的坐标信号,提取出坐标信号在本机进行定位,在地图中显示正确的位置。4.2.3开发,运行,测试环境的配置本软件的个配置环境如下1.开发环境:类别环境配置计算机硬件笔记本一台软件Eclipse,JDK1.6,android-sdk,GoogleMap,BaiduMapApi,操作系统:window7网络无线或有线网络连接 表4-1 开发环境表 2.运行环境:类别环境配置计算机硬件笔记本一台软件Eclipse,JDK1.6,android-sdk,GoogleMap,BaiduMapApi,android2.1-4.4,操作系统:window7 网络无线或有线网络连接 表4-2 运行环境表3.测试环境:类别环境配置计算机硬件笔记本一台,android系统手机两部软件Eclipse,JDK1.6,android-sdk,GoogleMap,BaiduMapApi,android2.1-4.4,操作系统:window7 网络1.手机必须连接无线网络,能够正常发送短信2.电脑必须连接网络 表4-3 测试环境表4.3功能设计:4.3.1设计的框架图 图4-2 系统框架图4.3.2 流程图发送端: 图4-3 发送端流程图接收端: 图4-4 接收端流程图4.4用户界面设计本系统的用户界面主要是由两个不同客户端组成的,即发送端与接收端。用户通过点击用户端不同按钮实现不同的功能,下面介绍界面关系图4.4.1 发送端 1.各界面和按钮的介绍(1) Welcome界面:打开软件的首界面,这里包含了定位按钮和帮助提示按钮 定位按钮:可以打开获取GPS和定位功能的界面 帮助提示按钮:可以打开介绍使用软件注意提示的界面(2) location界面: 是获取GPS和定位的主界面,包含发送短信按钮和刷新按钮 发送短信按钮:可以打开发送短信功能界面 刷新按钮: 可以刷新获取GPS信号位置并不断定位(3) SMS界面:发送短信功能的主界面,包含了导入联系人和发送短信功能按钮 导入联系人按钮:可以获取本机联系人方式 发送短信按钮:可以发送短信(4) contact界面:导入本机联系人的界面2.图解: 图4-5 发送端界面设计图4.4.2 接收端1.各界面和按钮的介绍(1)Main界面:打开软件的主界面,里面有显示经纬度按钮,定位按钮,打开短信列表按钮 显示经纬度:点击会显示出接收短信中的经纬度 定位按钮:点击会跳转到定位的界面 打开短信列表按钮:点击会打开最近接收到的短信列表(2)location界面:接收端定位的主界面(3)Massage界面:显示接受的短信列表2.图解 图4-6 接收端界面设计图4.5本章总结 本章主要是对本系统的体系结构设计,模块设计,界面设计进行了深入探讨,完成了所有设计阶段的工作,为以后的编码实现部分打下了坚实的基础。 第五章 编码实现5.1开发环境介绍类别环境配置计算机硬件笔记本一台软件Eclipse,JDK1.6,android-sdk,GoogleMap,BaiduMapApi,操作系统:window7网络无线或有线网络连接 表5-1 开发环境表5.2开发进度安排1 调研准备 3月4日-3月17日(第1-2周)2 熟悉安卓系统开发工具 3月18日-3月24日(第3周)3 程序设计 3月25日-5月12日(第4-10周)4 调试 5月13日-5月23日(第11-13周)5.3模块开发 5.3.1获取GPS模块并实现定位: 1.百度API定位:咱们讲解一下百度地图的定位功能,然后还有MyLocationOverlayPopupOverlay两个地图覆盖物的使用,Overlay是“图层”或“覆盖物”的意思,MyLocationOverlay从名字上面理解就是我的位置图层,他能够实现在地图上显示当前位置的图标以及指南针,MyLocationOverlay只负责显示我的位置,位置数据请使用百度定位SDK获取,将获取的位置数据放在一个LocationData结构中并用该结构设置MyLcationOverlay的数据源,即可创建MyLocationOverlay,PopupOverlay就是弹出窗口图层了,跟PopupWindow类似的东西。定位原理: 使用百度Android定位SDK必须注册GPS和网络使用权限。定位SDK采用GPS、基站、Wi-Fi信号进行定位。当应用程序向定位SDK发起定位请求时,定位SDK会根据应用的定位因素(GPS、基站、Wi-Fi信号)的实际情况(如是否开启GPS、是否连接网络、是否有信号等)来生成相应定位依据进行定位。 用户可以设置满足自身需求的定位依据:若用户设置GPS优先,则优先使用GPS进行定位,如果GPS定位未打开或者没有可用位置信息,且网络连接正常,定位SDK则会返回网络定位(即Wi-Fi与基站)的最优结果。为了使获得的网络定位结果更加精确,请打开手机的Wi-Fi开关。 图5-1 定位原理图定位精度图5-2 定位精度图 1.LocationClient 定位SDK的核心类,Location Client类必须在主线程中声明。需要Context类型的参数。Context需要时全进程有效的context,推荐用 getApplicationConext获取全进程有效的context,我们调用registerLocationListene(BDLocationListener)方法来注册定位监听接口,BDLocationListener里面有两个方法,onReceiveLocation()(接收异步返回的定位结果),onReceivePoi()(接收异步返回的POI查询结果,POI是“Point of Interest”的缩写,可以翻译成“信息点”,每个POI包含四方面信息,名称、类别、经度、纬度、附近的酒店、饭店,商铺等信息。我们可以叫它为“导航地图信息”,导航地图数据是整个导航产业的基石),我们这里只需要重写onReceiveLocation就行了。2. BDLocation 封装了定位SDK的定位结果,在BDLocationListener的onReceive方法中获取。通过该类用户可以获取error code,位置的坐标,精度半径,地址等信息,对于其getLocType ()方法获取的error code一些情况。 3. LocationClientOption 用来设置定位SDK的定位方式,比如设置打开GPS,设置是否需要地址信息,设置发起定位请求的间隔时间等等,参数设置完后调用LocationClient 的setLocOption方法 4.LocationOverlay MyLocationOverlay的子类,重写里面的dispatchTap()方法,显示弹出窗口图层PopupOverlay,调用mMapView.getOverlays().add(myLocationOverlay)就将我的位置图层添加到地图里面 5.PopupOverlay 弹出图层,这个类还是比较简单,里面只有三个方法,hidePop() (隐藏弹出图层)s

温馨提示

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

评论

0/150

提交评论