安卓公交查询系统本三科设计

上传人:沈*** 文档编号:143014474 上传时间:2022-08-25 格式:DOC 页数:60 大小:2.50MB
收藏 版权申诉 举报 下载
安卓公交查询系统本三科设计_第1页
第1页 / 共60页
安卓公交查询系统本三科设计_第2页
第2页 / 共60页
安卓公交查询系统本三科设计_第3页
第3页 / 共60页
资源描述:

《安卓公交查询系统本三科设计》由会员分享,可在线阅读,更多相关《安卓公交查询系统本三科设计(60页珍藏版)》请在装配图网上搜索。

1、本科毕业设计题目安卓手机公交查询系统开发原 创 性 声 明本人声明:所呈交的论文是本人在导师指导下进行的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签 名: 日 期: 本论文使用授权说明本人完全了解南通大学有关保留、使用学位论文的规定,即:学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容。(保密的论文在解密后应遵守此规定)学生签名: 指导教师签名: 日期: 南 通 大 学 毕 业 设 计(论文)题目: 安卓手机公交查询系统开

2、发 姓 名:指导教师:专 业:南通大学计算机科学与技术学院 2012 年 12 月25日南通大学计算机科学与技术学院2012 年 12 月25日毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大

3、学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作

4、者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学

5、知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格

6、不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画

7、“”)评阅教师: (签名) 单位: (盖章)年 月 日南通大学毕业设计(论文)教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不

8、及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日摘 要随着无线移动通信的高速发展及各种移动业务种类的快速增长,一切互联网上的业务都在移动通信系统中得到应用。然而,由于用户需求的原因,或者终端支持与否的因素,并非所有手机都能正确显示同一信息内容。而且随着客户端设备的类型越来越多,人们对个性化服务的要求越来越高,个性化信息服务成为将来网络信息服务发展的一个重要的

9、方向。移动终端是一种采用先进通信协议栈的复杂系统,它需要具有与许多网络设备互操作、支持先进而丰富的多媒体的应用程序。而且,所有这些都必需在一个资源有限的嵌入式系统的约束条件下实现。Android技术提供了跨平台的能力,并支持多种器件设备。Android技术为无线设备创建了一个全新的开发平台,可以让移动通信设备发挥出最大的潜能。Android手机作为移动终端为今后移动通信发展提供了很好的解决方案。本文对Android系统的特征,系统架构及应用程序构建、开发都做了比较详细的分析。同时结合Baidu Maps、GPS定位技术、对在android上定位和导航进行了深入的研究,并设计了基于Android

10、系统的公交路线查询应用。系统使用java语言和eclipse开发工具进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程遇到的问题和解决方法进行了讨论。本系统的主要实现的功能有换乘查询,还有线路查询和站点查询功能,不仅能显出查询的结果,而且还能够根据用户选择的线路实现电子地图的显示,使系统更加直观。关键词:android,公交路线查询, Baidu Maps南通大学毕业设计(论文)ABSTRACTWith the rapid development of wireless mobile communication and the rapid growth o

11、f the mobile business types, all business on the Internet in a mobile communication system. However, due to reasons of user needs, or whether or not the terminal supports the factors, not all phones can correctly display the same information content. And more and more with the type of client device,

12、 more and more personalized service requirements, personalized information service has become important direction of the future development of a network information service.Mobile terminal is a complex system with advanced communication protocol stack, it needs to have interoperability with many net

13、work devices, and support advanced rich multimedia applications. Moreover, all of which must be implemented in a resource-limited embedded system under restricted conditions. Android technology provides cross-platform capability, and supports a variety of devices devices. Android technology for wire

14、less devices to create a new development platform that lets mobile communications equipment to play the greatest potential. Android phone as a mobile terminal provides a good solution for the future development of mobile communication.In this paper, the Android system characteristics, system archite

15、cture and application build, developers have done a more detailed analysis. Combination Baidu Maps, GPS positioning technology, positioning and navigation android conducted in-depth research and design of bus routes Android-based query application. The system uses the Java language and Eclipse devel

16、opment tools to write. At the same time gives a detailed system design process, part of the interface diagram and operation flow chart of the main function of the development process, the paper also encountered problems and solutions are discussed.The system functions of the main transfer query line

17、 query and site search function, not only can show the results of the query, but also to the electronic map display based on user-selected line, to make the system more intuitive.Key words: android, Bus routes queries, the Baidu Maps南通大学毕业设计(论文)目 录第1章 绪论11.1课题的研究意义11.2移动终端的发展现状11.3公交查询现状21.4本次课题研究内容

18、3第2章 需求分析42.1 服务器端需求分析42.1 客户端需求分析5第3章 技术背景介绍63.1 GPS63.1.1全球定位系统简介63.1.2 GPS系统的组73.1.3 GPS的功能83.1.4 应用前景93.2 Android平台93.2.1 Android特征93.2.2 Android架构103.2.3 Android应用的构成和工作机制123.3本章小结14第4章 平台的搭建164.1 Android 开发环境的搭建164.1.1 JDK的安装164.1.2 Eclipse的安装174.1.3 Android SDK安装174.1.4 ADT安装194.1.5 创建AVD204.

19、2 Eclipse简介20第5章 程序设计215.1系统体系结构215.2 Baidu Maps API 申请及使用215.2.1申请Baidu Map Key215.2.2获取坐标和地址225.2.3地图自动定位235.2.4百度地图地址解析服务Geocoder23第6章 系统设计与实现256.1 欢迎界面的实现256.2 主要功能的实现266.3 截图及运行说明16.4 软件可以改进之处9第7章 系统测试107.1手动测试方案107.2工具测试方案107.2.1单元测试107.2.2 系统测试117.3测试用例117.4辅助测试工具11结论13参考文献14致谢16南通大学毕业设计(论文)第

20、1章 绪论1.1课题的研究意义出行是人们日常生活中不可或缺的一部分,而公交车是大多数人出行首选的交通工具,如何才能随时随地、方便快捷的获取公交线路的信息,合理安排自己的出行线路,是很多人非常关心的问题。建设智能公交系统,利用当代高新技术:电子、信息、通信、计算机、GPS、GIS等,将交通系统中的人、交通设施和交通工具有机的联系起来,建立智能公交系统,如公交优先系统、公交查询系统、智能化行车系统等,为乘客提供实时的更多更全面的出行信息,更好的为乘客服务。在智能公交系统中,公交查询系统的服务是目前最贴近乘客日常生活的,也是最能让乘客亲身体会公交服务水平高低的方面。因此,如何给乘客提供一个良好的平台

21、,让乘客选择或是推荐合适的乘车方案出行,以节约乘车时间,缩短到达目的的乘坐距离,减少乘坐的票款成本,才是提高公交服务水平最值得关注的问题之一。越来越多的人倾向通过上网获得和共享信息,随着网络应用的普及而不断的发展,Internet的应用成了世人关注的焦点。公交路线查询系统既提供全面的公交信息,更具有实用性、便利性、多样性。因此我们提出开发并设计了一个基于Android平台的公交路线查询系统。用户可以在任意一款Android手机中安装此工具。通过此查询工具可以查看线路,查找任意两地的乘车方案等,更方便用户出行,节约时间,减缓交通压力。1.2移动终端的发展现状当今在全球信息与通信领域中,无线移动通

22、信的发展之快最引人注目。在中国,仅蜂窝移动通信用户早已跨过3亿大关,而在全球15亿的移动用户已成事实。中国在全球范围内不仅用户数增长最快,而且移动用户与固定电话用户之比的增长率也是全球第一。按照无线移动终端的发展历程大致将其分为三类:第一类是以语音通信为主的手机,也就是我们传统意义上的手机,目前主要面向低端市场,这类手机的硬件都是围绕一个单一的基带处理器搭建的,该处理器执行电信和其它简单的应用任务。第二类是增值业务手机,也叫多功能手机,这是目前需求量最大的手机。这些手机一般面向特定应用,一个功能强大的基带处理器芯片实现移动终端的主要功能,如果基带处理器不能满足诸如视频处理等功能,可以配套使用一

23、个应用协处理器,它面向特定应用。第三类是智能手机,即高端手机,曾被定义为“拥有操作系统并支持第三方应用的手机”。这类手机中应用处理器成为系统的核心,而GSMGPPS等通信MODEM则成为实现连接功能的外设之一,此外还有其它通信外设,如WLAN、蓝牙、USB等,并且可能提供统一的扩展接口。智能手机通常要采用复杂的嵌入式操作系统为上层应用提供统一的应用接口。并且,智能手机多备有较大显示屏,具有计算和文字处理方面的功能。从移动业务的角度看,目前现有的业务种类已经是琳琅满目,一切互联网上的业务都在移动通信系统中得到应用,当然,由于现有网络质量和带宽的限制,它还远不能给用户以有线网络的体验,而且有些业务

24、在目前条件下也只是概念上的炒作。然而,并非所有的业务都能顺利推出,其中有用户需求的原因,也有终端支持与否的因素,并非所有终端都能对统一网站的内容正确显示,并非所有手机都能正确显示同一信息内容而且随着客户端设备的类型越来越多,人们对个性化服务的要求越来越高,个性化信息服务成为将来网络信息服务发展的一个重要的方向。1.3公交查询现状国外许多国家都十分重视公交查询的研究和应用。其目的在于通过提供及时准确的信息和服务,吸引更多的出行者使用公共交通,促进公交的大力发展,减缓城市的交通压力。尤其是美国,他们的研究取得了较好的效果。他们发展公交查询系统的特点是能够提供快捷、方便的电话咨询服务;与定位技术相结

25、合,提供实时信息服务;触摸屏在公共场所的广泛使用以及查询与网络的结合。欧洲一些国家,如芬兰、意大利等,他们在研究公交查询方面也取得了不小的成果。近年来,我国的公交查询系统也在迅速地发展,不少城市也都有拥有公交线路查询系统,网络上也可以下载到许多不同的版本。不过公交查询系统在发展的同时也存在一些问题,需要不断地改进和完善。比如早期的公交查询系统脱离了网络,只是一种供人下载后方可查询的程序,是一种单机程序。这样的信息不够准确,也不够及时。有一部分公交查询系统,它们只是简单地将各个线路和站点的信息一一罗列出来,让用户自己去一条条查找。而真正意义上的公交查询系统应该是用户输入想要查询的内容,系统能够自

26、动查询出结果,而不是靠用户人工进行查询。还有一部分网上的公交查询系统,它们的系统功能比较完善,实现站点、线路查询以及换乘查询,更加完善一点的系统还有电子地图查询等功能,但是对城市有代表性的地点介绍和查询的功能,做得好的比较少。还有就是手机上的公交查询系统,可以采用短消息的形式进行查询,但也有一定的局限性。硬件方面,比如遇到服务器、网络繁忙时或者信号盲区,导致用户请求长时间得不到回应。软件方面,运营商不一定提供此类的查询服务。现行的公交车系统或多或少都还是存在一些缺陷的。但是随着技术的更新以及不断的改进,相信可以做出更人性化、更完善的公交查询工具。1.4本次课题研究内容本次毕业设计要研究的内容是

27、学会界面的设计,进行数据库的设计并学会使用SQLite数据库,学会在Baidu Map的基础上进行地图开发。论文第一部分介绍了目前公交路线查询的现状,第二部分为关键技术介绍,主要介绍本系统中所涉及到的主要关键技术,第三部分是关于系统总体结构设计,主要介绍系统的功能模块和数据库的设计与实现。第四和第五部分就是系统详细的设计与实现及测试结果等,然后对整个毕业设计进行了总结,最后部分为致谢。第2章 需求分析手机公交线路查询软件最基本的功能是能够有效的为用户提供查询服务,在最短的时间内给用户一条或多条到达目标地的路径。整个查询过程中,只有数据信息是依靠服务器同步获取,其余功能均在手机端完成。在此分别对

28、手机公交线路查询软件的服务器端和客户端做需求分析。2.1 服务器端需求分析服务器作为后台,需要专业人员对服务器操作和维护,一般情况可由非专业人员借助管理软件对服务器进行常规维护。服务器可以通过数据库同步,为客户端数据库提供数据。通过仔细分析服务器需求之后,服务器端要完成以下功能:1、服务器后台管理功能服务器后台管理是针对数据库进行操作,具有增、删、改、查功能。2、数据同步功能。采用REST协议,响应客户端请求,返回给客户端一端数据流,该数据流按照JSON格式,返回给客户端,由客户端进行解析。服务器端功能模块划分如图2-1所示。图2-1 服务器端功能模块2.1 客户端需求分析客户端主要是手机,用

29、户无法通过手机对本地数据库进行操作,也无法对服务器数据库操作,管理员可以通过手机浏览器登录到服务器管理员页面对数据库进行操作,可以使用一些功能。该软件应满足若干要求,比如能够随时掌握公交信息,动态更新最新数据等。也要考虑作为手机软件可能会出现查询速度慢,数据流量过大,过度依赖服务器等问题。通过仔细分析用户需求之后,该软件要完成以下功能:1、查询线路功能获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。2、地图查询功能借助BaiduMap,完成公交查询并显示地图线路。3、数据更新功能服务器响应客户端请求返回一段数据流,客户端接收此数据流后,按照JSON格式规范对数据流进行解析,解析后将

30、数据存入客户端数据库。南通大学毕业设计(论文)第3章 技术背景介绍3.1 GPS3.1.1全球定位系统简介全球定位系统(英语:Global Positioning System,通常简称GPS),又称全球卫星定位系统,是一个中距离圆型轨道卫星导航系统。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的时间标准。系统由美国国防部研制和维护,可满足位于全球任何地方或近地空间的军事用户连续精确的确定三维位置、三维运动和时间的需要。该系统包括太空中的24颗GPS卫星;地面上的1个主控站、3个数据注入站和5个监测站及作为用户端的GPS接收机。最少只需其中3颗卫星,就能迅速确定用户端在地

31、球上所处的位置及海拔高度;所能收联接到的卫星数越多,解码出来的位置就越精确。该系统由美国政府于1970年代开始进行研制并于1994年全面建成。使用者只需拥有GPS接收机即可使用该服务,无需另外付费。GPS信号分为民用的标准定位服务(SPS,Standard Positioning Service)和军规的精确定位服务(PPS,Precise Positioning Service)两类。由于SPS无须任何授权即可任意使用,原本美国因为担心敌对国家或组织会利用SPS对美国发动攻击,故在民用讯号中人为地加入选择性误差(即SA政策,Selective Availability)以降低其精确度,使其最

32、终定位精确度大概在100米左右;军规的精度在十米以下。2000年以后,克林顿政府决定取消对民用讯号的干扰。因此,现在民用GPS也可以达到十米左右的定位精度。GPS系统拥有如下多种优点:使用低频讯号,纵使天候不佳仍能保持相当的讯号穿透性;全球覆盖(高达98%);三维定速定时高精度;快速、省时、高效率;应用广泛、多功能;可移动定位;不同于双星定位系统,使用过程中接收机不需要发出任何信号增加了隐蔽性,提高了其军事应用效能。3.1.2 GPS系统的组GPS系统主要由空间星座部分、地面监控部分和用户设备部分组成。空间星座部分GPS卫星星座由24颗卫星组成,其中21颗为工作卫星,3颗为备用卫星。24颗卫星

33、均匀分布在6个轨道平面上,即每个轨道面上有4颗卫星。卫星轨道面相对于地球赤道面的轨道倾角为55,各轨道平面的升交点的赤经相差60 ,一个轨道平面上的卫星比西边相邻轨道平面上的相应卫星升交角距超前30。这种布局的目的是保证在全球任何地点、任何时刻至少可以观测到4颗卫星。GPS卫星是由洛克菲尔国际公司空间部研制的,卫星重774kg,使用寿命为7年。卫星采用蜂窝结构,主体呈柱形,直径为1.5m。卫星两侧装有两块双叶对日定向太阳能电池帆板(BLOCK I),全长5.33m接受日光面积为7.2。对日定向系统控制两翼电池帆板旋转,使板面始终对准太阳,为卫星不断提供电力,并给三组15Ah镍镉电池充电,以保证

34、卫星在地球阴影部分能正常工作。在星体底部装有12个单元的多波束定向天线,能发射张角大约为30度的两个L波段(19cm和24cm波)的信号。在星体的两端面上装有全向遥测遥控天线,用于与地面监控网的通信。此外卫星还装有姿态控制系统和轨道控制系统,以便使卫星保持在适当的高度和角度,准确对准卫星的可见地面。由GPS系统的工作原理可知,星载时钟的精确度越高,其定位精度也越高。早期试验型卫星采用由霍普金斯大学研制的石英振荡器,相对频率稳定度为/秒。误差为14m。1974年以后,GPS卫星采用铷原子钟,相对频率稳定度达到/秒,误差8m。1977年,BOKCK II型采用了马斯频率和时间系统公司研制的铯原子钟

35、后相对稳定频率达到/秒,误差则降为2.9m。1981年,休斯公司研制的相对稳定频率为/秒的氢原子钟使BLOCK IIR型卫星误差仅为1m。地面监控部分地面监控部分主要由1个主控站(Master Control Station ,简称MCS)、4个地面天线站(Ground Antenna)和6个监测站(Monitor Station)组成。主控站位于美国科罗拉多州的谢里佛尔空军基地,是整个地面监控系统的管理中心和技术中心。另外还有一个位于马里兰州盖茨堡的备用主控站,在发生紧急情况时启用。注入站目前有4个,分别位于南太平洋马绍尔群岛的瓜加林环礁,大西洋上英国属地阿森松岛,英属印度洋领地的迪戈加西亚

36、岛和位于美国本土科罗拉多州的科罗拉多斯普林斯。注入站的作用是把主控站计算得到的卫星星历、导航电文等信息注入到相应的卫星。注入站同时也是监测站,另外还有位于夏威夷和卡纳维拉尔角2处监测站,故监测站目前有6个。监测站的主要作用是采集GPS卫星数据和当地的环境数据,然后发送给主控站。用户设备部分用户设备主要是GPS接收机,主要作用是从GPS卫星收到信号并利用传来的信息计算用户的三维位置及时间。3.1.3 GPS的功能精确定时:广泛应用在天文台、通信系统基站、电视台中工程施工:道路、桥梁、隧道的施工中大量采用GPS设备进行工程测量勘探测绘:野外勘探及城区规划中都有用到导航:武器导航:精确制导导弹、巡航

37、导弹车辆导航:车辆调度、监控系统船舶导航:远洋导航、港口/内河引水飞机导航:航线导航、进场着陆控制星际导航:卫星轨道定位个人导航:个人旅游及野外探险定位:车辆防盗系统手机,PDA,PPC等通信移动设备防盗,电子地图,定位系统儿童及特殊人群的防走失系统精准农业:农机具导航、自动驾驶,土地高精度平整授时:用于给电信基站、电视发射站等提供精确同步时钟源3.1.4 应用前景随着中国国民经济的快速增长的西部大开发的实施,我省的高等级公路建设迎来前所末有的发展机遇,这就对勘测设计提出了更高的要求,随着公路设计行业软件技术和硬件设备的发展,公路设计已实现CAD化,有些软件本身还要求提供地面数字化测绘产品的支

38、持;建立勘测、设计、施工、后期管理一体化的数据链,减少数据转抄、输入等中间环节,是公路勘测设计“内外业一体化”的要求,也是影响高等级公路设计技术发展的“瓶颈”所在。目前公路勘测中虽已采用电子全站仪等先进仪器设备,但常规测量方法受横向通视和作业条件的限制,作业强度大,且效率低,大大延长了设计周期。勘测技术的进步在于设备引进和技术改造,在目前的技术条件下引入GPS技术应当是首选。3.2 Android平台Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案。它

39、开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用1。3.2.1 Android特征Dalvik虚拟:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。内嵌浏览器:基于开源的浏览器网页排版引擎WebKit。优化的图形:强大的自定义二维图形库。基于OpenGL ES 1O标准的3D图形功能,在移动3D开发中有着至关重要

40、的地位。SQLite数据库:SQLitet提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想要的多媒体应用程序。GSM技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称“全球通”,

41、是第二代移动通信技术,其开发El的是让伞球各地可以共同使用一个移动电话网络标准,让用户使_一部手机就能行遍全球。蓝牙,EDGE,3G,and WiFi是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(EnhaIlced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。Camera,GPS,compass,and accelerometer:(依赖硬件)GPS(GlobalPositioning System)ItTI驯全球定位系统。它是一个由覆盖全球的24颗1J星组成的卫星系统。Compass是个开放源代码的JAVA搜索引擎

42、框架。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及EclipseIDE的开发插件。Eclipse是个集成开发环境2。3.2.2 Android架构Android的架构是Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的,如图2-1。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在Dalvik VM上运行的。图3-1 Android架构图Android平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序。开发语言是Java。Android应用程序的开发基

43、于框架和组件。Android本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。Android应用程序框架之下是一套C/C+函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的的安全协议SSL、用于点阵和矢量字体渲染的FreeType以及SQLite引擎等。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。所有的Android应用都

44、运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例,Dalvik被设计成能在一台设备上高效的运行多个虚拟机实例。Dalvik虚拟机的可执行文件被封装成Dalvik可执行格式(.dex)。这是被优化过的最小内存依赖的格式。Java编译器(dx工具)将注册了的和运行时用到的类编译成.dex格式。Dalvik虚拟机依赖于底层Linux内核提供的功能,如线程机制,和内存管理机制等。Android系统平台是基于优化了的Linux内核,是其系统平台的核心。它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。3.2.3 Android应用

45、的构成和工作机制对于一个Android应用程序来说,是由Activity、 Intent Receiver 、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidMainfestxml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Activity是构成应用程序中最重要的构造块, 在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你

46、可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。1.活动生命周期:活动(Activity)在系统中以活动栈的形式进行管理。当一个新的活动启动后,被放到了栈项,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。图3.2 Activity状态变换路径图从图2-2可以看出,Activity有三个关键的循环:(1)活动的整个生命期:从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。在onCreate()中进行所有初始化,在onDestroyO时进行清理工作,释放资源。(2)活动的可

47、见生命期:从调用onStart()开始,到onStop()被调用为止。在这段时间内,即使活动不与用户进行交互,用户也可以在屏幕上看到它。在这两个方法调用之间,可以维护活动显示给用户的资源。onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。(3)活动的后台生命期:从调用onResume()开始,到onPause()被调用为止。在这段时间内活动处于其它所有活动之前,并与用户进行交互。一个活动可以不断在resumed状态和paused状态之间变换4。2.活动之间的切换:Android使用了Intent类来实现活动之间的切换工作。Intent负责对应用中一

48、次操作的动作、动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在应用中,我们可以以两种形式来使用Intent:直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。间接Intent,没有指定comonent属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。Intent Receivert是用于

49、对外部事件的响应,当外部事件发生时,会使用NotificationManager通知用户。当一个Intent Receiver被触发时,系统会在需要的时候启动对应的应用程序。如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。各种应用还可以通过使用ContextbroadcastIntent()将它们的Intent Receiver广播给其它的应用程序,实现应用之间的通讯。Service是提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于Android平台的即时通讯系统的研究与实

50、现后台直到用户停止该服务或服务运行结束。本系统客户端扩展功能的音乐播放就是采用Service来进行设计和开发的,使用户可以边聊天边听音乐。Content Provider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。当应用程序需要使用存储设备中的数据时,可以使用Content Provider来完成。使用Content Provider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据。3.3本章小结本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对于An

51、droid应用程序来说,主要由Activity、Intent Receiver、Service和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要的一种构造块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。第4章 平台的搭建4.1 Android 开发环境的搭建Android平台为开发者提供了源码开放的软件开发包( SDK) ,它包含了使用Java语言开发Android平台应用的必要工具和组件(API) 。进行开发前先要建立合适的开发环境,其中基于Java的整合型可扩展平台Ec

52、lipse是我们的首选。搭建环境所需要的软件:l 操作系统:Windows XP 或 Linux;l 软件包:Android SDK,ADT;l IDE环境:Eclipse IDE + ADT Eclipse3.3以上;l JDK:Java Runtime Environmcnt,JDK;4.1.1 JDK的安装下载JDK并且一路next进行安装,这里主要讲解JDK的环境变量如何配置:1. 我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量:2. JAVA_HOME值为: a) D:Program FilesJavajdk1.6.0_18(安装JDK的目录)3. CLASSPATH值为

53、:a) .;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin;4. Path: a) 在开始追加 %JAVA_HOME%bin;安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息。出现类似如图3-1的画面表示安装成功了:图3.1验证JDK安装是否成功4.1.2 Eclipse的安装下载如图3-2所示的Eclipse IDE for Java Developers(92M)的win 32bit版(选择自己适合的版本)解压之后即可使用。图3.2 Eclipse下载4.1

54、.3 Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的Force https:/.这项,再点击Available Packages 。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包在用户变量中新建PATH值为:Android SDK中的tool

55、s绝对路径(本机为D:AndroidDevelopandroid-sdk-windowstools)。图3.3设置Android SDK的环境变量“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。 运行 android h 如果有类似如图3-4的输出,表明安装成功:图3.4验证Android SDK是否安装成功4.1.4 ADT安装打开 Eclipse IDE,进入菜单中的 Help - Install New Software点击Add.按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入http:/dl-图3.

56、5 Add Site确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如图3-6所示:图3.6选择插件然后就是按提示一步一步next。完成之后:选择Window Preferences.;在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为:D:AndroidDevelopandroid-sdk-windows。点击Apply、OK。配置完成。4.1.5 创建AVD为使Android应用程序可以

57、在模拟器上运行,必须创建AVD。1、在Eclipse中。选择Windows Android SDK and AVD Manager2、点击左侧面板的Virtual Devices,再右侧点击New3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值 4、点击Create AVD即可完成创建AVD4.2 Eclipse简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java

58、 Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工

59、具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础。第5章 程序设计5.1系统体系结构图5.1系统体系结构5.2 Baidu Maps API 申请及使用5.2.1申请Baidu Map Key百度地图Android SDK是一套基于Android1.5及以上版本设备的地图开发工具。可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过接口,可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图应用程序。该套SDK提供的服务是免费的,接口无使用次数限制。但需先申请密钥(key),才可使用该套SDK。申请地址为:然后随便输入软件名称,即可得到对应的Key

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!