基于Android平台的百度地图开发设计方案

基于Android平台的百度地图开发设计方案
基于Android平台的百度地图开发设计方案

基于Android平台的百度地图开发设计方案

目录

摘要 (1)

目录 (1)

第一章引言 (3)

1.1课题背景 (3)

1.2 Android平台与其他平台的比较 (3)

1.3本文主要工作 (4)

第二章Android架构分析 (5)

2.1Android的功能特征 (5)

2.2基本架构分析 (7)

2.2.1 Android基本架构 (7)

2.2.2类库 (10)

2.3Android应用的构成和工作机制 (11)

第三章Android架构分析与开发环境搭建 (13)

3.1Android的API (13)

3.2Android应用程序结构解析 (14)

3.2.1活动 (14)

3.2.2意图接收器 (15)

3.2.3服务 (16)

3.2.4内容提供者 (16)

3.3 Intent的详细解析 (16)

3.3.1Intent的抽象描述 (17)

3.3.2Android如何解析Intent (18)

3.4 Android活动的生命周期 (18)

3.4.1活动的生命状态 (19)

3.4.2活动的运作流程 (21)

3.5 Android开发的环境搭建 (22)

第四章基于安卓平台的百度地图导航设计 (24)

4.1 百度地图的API的申请和使用 (24)

4.1.1申请API key (24)

4.1.2百度地图API的使用 (25)

4.2 百度地图的SDK的简介 (26)

4.3百度地图初始化的代码配置流程 (27)

4.3.1下载百度地图API库 (27)

第五章软件功能的实现 (41)

5.1百度地图的地图导航 (41)

5.2百度地图的公交路线站点查询 (46)

结论 (56)

参考文献 (57)

摘要

随着交通的迅速发展,又是智能手机的一步步的走进人们的生活,它将成为人们获取信息的主要设备。因此,手机的交通应用服务将会有很大的发展空间,手机百度地图软件就是其中的一项。Android 平台提供给用户非常方便的地图导航,公交查询,驾车路线功能,这将为交通查询服务的设计与实现提供了更好的平台。另外,Android 平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机地图服务的普及做出贡献。

本文对目前应用的地图、公交路线、驾车路线和卫星地图等平的现进行了分析与比较。进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API和应用构成,以Intent 和生命周期的机制。开发出能为用户提供更好的基于Android平台的手机百度地图软件。

【关键词】:Android;Java;百度地图;Intent;布局

第一章引言

1.1课题背景

移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,现今社会的迅速发展,交通的精细化,手机APP地图软件随之成为了不可缺少的交通查询工具。

Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java 构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android 平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。

经过多年的发展,第三代数字通信( 3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。 Google与包括中国移动、摩托罗拉在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月推出了一个专为移动设备设计的软件平台———Android。

Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验, Android里面具有非常丰富的图形系统, 对多媒体的支持功能和非常强大的浏览器。

本课题的目的在于掌握Java手机应用开发技术和移动软件平台开发技术。在以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,完成在Android平台上运行的“百度交通地图”查询软件,形成一款具有一定功能的手机应用软件。

1.2 Android平台与其他平台的比较

Android平台,移动互联网是它最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时Android与PC平台存在先天的基因联系,可以很好的实现与PC设备的信息互享,更容易获得用户的广泛认可。与Android拥

有相同属性的还有微软的Windows mobile。

至于iPhone,它只是苹果公司的封闭平台,用户无法在iPhone 中自行安装应用,所有的东西都应该苹果自行设计制造,从而确保利润不被第三方分享。苹果自己为iPhone开发了嵌入系统以及完整的应用,但它干脆不宣扬iPhone的软件设计,而是将iPhone作为一iPhone大获成功,以至于成为手机市场的风向标。与苹果相反,Android则是走完全开放的道路,这种模式的巨大优点在PC软件领域已为业界所公认:自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。Android平台的另外一个优势是标准化和跨平台。

Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。这与难于使用操作系统功能的J2ME相比,无疑对开发者有很大的吸引力。并且从图形应用界面的开发上面来看,Android 可以使用配置文件来描述图形控件的布局,用Java代码编写实际响应代码,这样方便得多。当然由于Android己经提供了大量现成的应用API和应用工具,使得常规智能手机功能的开发变得非常容易和简单。

1.3本文主要工作

Android是基于Linux+Java的手机操作系统平台,XMPP是基于XML的开源的即时通讯协议,本文从实际应用出来,提出了开发基于Android平台的手机百度地图查询软件。本文的主要工作包括: 在Eclipse开发环境下,运用java语言和android 的sdk 开发一款可以实现查询位置功能的软件。本软件除了即时文本信息的传输显示外,还可以进行图片的显示,并对软件客户端的功能进行了美化扩展,增加了背景和浏览的功能。并且该系统在智能手机上运行,取得了很好的运行效果。

第二章Android架构分析

Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。

2.1Android的功能特征

(1)应用程序框架:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。

(2)Dalivk虚拟机:在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

(3)以WebKit引擎为基础的浏览器:集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。WedKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。

(4)最佳的图形设计:在程序里可以用到的绘图功能分为2D与3D两个方面。在2D方面,Android提供了一套特有的类库(SGL;而在3D方面则是使用OpenGLES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。

(5)SQlite轻量级的数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配

置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB 但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

(6)强大的多媒体功能:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:URI即是统一资源识别地址)模式—在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。

(7)基本的移动通信功能:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

(8)强大的硬件支持蓝牙,3G和WiFi功能:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM 到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.lla 和IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

(9)硬件支撑照相机,gps,指南针,加速器:Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便

实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。

(10)丰富而强大的开发环境:Android开发环境支持Vista (32/64-bit)、Mac OS X 10.4.8或更新版本(x86)、Linux,Android 官网的SDK就是基于Eclipse的。

2.2基本架构分析

2.2.1 Android基本架构

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik 并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。

Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行,如图2-1 Android基本架构所示:

android分为四个层,从高层到低层分别是应用程序层、应用程序框

架层、系统运行库层和linux核心层。

蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写的程序库,红色的代码内核(linux 内核+driver)。在Application Framework之下,由C/C++的程序库组成,通过JNI完成从JAVA到C的调用。

(1)应用程序

所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。

利用JAVA的跨平台性质,基于Android框架开发的应用程序可以不用编译运行于任何一台安装有android系统的平台,这点正是Android的精髓所在。

(2)应用程序框架

应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。帮助程序员快速的开发程序,并且该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统, 其中包括;

a.丰富而又可扩展的视图(Views),可以用来构建应用程序,

它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至可嵌入的web浏览器。

b.内容提供器(Content Providers)使得应用程序可以访问

另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

c.资源管理器(Resource Manager)提供非代码资源的访问,

如本地字符串,图形,和布局文件(layout files)。

d.通知管理器(Notification Manager)使得应用程序可以在

状态栏中显示自定义的提示信息。

相关主题
相关文档
最新文档