基于Android的Google Map API应用设计Word格式文档下载.docx

上传人:b****4 文档编号:7666342 上传时间:2023-05-08 格式:DOCX 页数:43 大小:648.15KB
下载 相关 举报
基于Android的Google Map API应用设计Word格式文档下载.docx_第1页
第1页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第2页
第2页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第3页
第3页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第4页
第4页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第5页
第5页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第6页
第6页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第7页
第7页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第8页
第8页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第9页
第9页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第10页
第10页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第11页
第11页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第12页
第12页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第13页
第13页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第14页
第14页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第15页
第15页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第16页
第16页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第17页
第17页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第18页
第18页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第19页
第19页 / 共43页
基于Android的Google Map API应用设计Word格式文档下载.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Android的Google Map API应用设计Word格式文档下载.docx

《基于Android的Google Map API应用设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Android的Google Map API应用设计Word格式文档下载.docx(43页珍藏版)》请在冰点文库上搜索。

基于Android的Google Map API应用设计Word格式文档下载.docx

关键词:

Android;

谷歌地图API;

GPS定位

Android-basedGooglemapAPIapplicationdesign

Abstract

Mostofthetimewhenweplantoarriveanunfamiliarplace,we'

dliketoreachquicklywithouttwistsandturns.Whenweareinanunfamiliarsurrounding,wedesiretoknowourpreciseposition.IfwemixGooglemapsintheapplicationofAndroid,itwilladdpowerfulfunctiontoourmobilephone,whichhasaveryprofoundsignificancefortherapidsociallifenowadays.

ThedesignofthissoftwareisbasedontheoperationplatformofAndroidwhichisexploredbyLinux.ThissoftwaredevelopeditsfunctionoftheapplicationusingJavaprogramminglanguagetoprogramwiththehelpofAPIkeyappliedfromGoogle.Combinedwiththepracticalapplication,itrealizesthefunctionoflocating,searching,lineinquires,viewswitch,andmonitoringdistanceandtime,real-timespeedetc,whichhasaverystrongpracticability.Themoduleoflocationisthatthemobilephoneuserslocatetheirownplaceinthemaponlytoshowtheinformationoflongitudeandlatitudeandthespeedofwalking.Themoduleofsearchingisinquiringasite,thenflagitinthemap.LineinquiresistoprovideconvenientandquickrouteinformationandmarktheroadmapintheGooglemap.Thefriendlyinterfaceofitsdesignwithrapidresponsehasagreatexpansionoffunction,whichprovidestheuserswithawesomeexperienceofusing.

Keywords:

Android;

GooglemapAPI;

GPSLocation

第一章引言

一.1课题背景

近年来,网络、地理信息技术等都有了很大的发展,特别是谷歌公司推出的谷歌地图,被广泛的应用于世界各地。

谷歌地图应用程序接口GoogleMapAPI给用户提供了整合应用,现在已有许多应用程序开发人员使用谷歌地图API来扩展地图服务,极大的方便了人们的生活。

伴随着信息技术的应用发展,地理信息的产业化和社会化极大的拓展了地理信息服务在不同行业中的应用,地理信息应用的全球化也得到了全面的发展。

社会发展对地理信息服务不断提出新的需求,这对网络地图服务模式的发展起了极大的推动作用,地理信息服务也已经从早期以地图为载体的信息传递方式发展到现在建立在计算机技术、网络技术、空间技术、通讯技术以及地理信息技术等基础上的现代地理信息服务模式。

近年来,谷歌公司主要提供搜索服务,并推出了新的地图服务GoogleEarth和GoogleMap。

谷歌地图服务以及其应用程序接口(GoogleMapAPI)的推出,又将面向应用的地图服务提升到更高层面,全球化地图服务也将成为信息时代新的增长点。

谷歌地图的诞生标志着互联网地图服务的兴起,国内外各大网站相应的服务也已广泛应用,而且基于这些服务的第三方应用也越来越多,需求也越来越多。

谷歌公司作为此次革命的掀起者,为互联网带来了简单易用的GoogleMapAPI,这方便了谷歌地图技术和其它系统应用的整合。

现在,也已经有越来越多的互联网站利用GoogleMapAPI,将扩展了的地图服务整合到自身系统的使用之中,在不断提升易用性的同时,还带来了不少的新意。

一.2现状分析

2008年9月,谷歌公司发表了Android系统开放源代码计划,并放出android程序代码,紧接着德国T-Mobile运营商在纽约正式发布了第一款Android操作系统的手机T-MobileG1。

这款手机是由台湾宏达电子代工制造,是世界上第一款Android手机,它支持WCDMA/HSPA网络,理论上的下载速度是7.2Mbps,并且还支持Wi-Fi网络。

到目前为止,已经出现了很多Android智能手机,超过有10万的应用程序。

在Android系统不算太长的发展时间里,美国NPD市场研究公司发布的统计数据显示,Android手机在美国市场的销量已超过iPhone,并占据美国智能手机总销量的大部分。

随着Android智能手机在市场中所占的份额越来越大,相应的Android系统的应用软件也越来越受到人们的重视,特别是地图服务中的基于位置信息的服务,是近年来备受人们关注的一项信息服务,它是指通过一组定位技术获得移动终端的位置信息(经纬度数据等),提供给移动终端用户本人或他人,从而实现各种与位置相关的服务[1-2]。

该课题就是结合android系统手机设计一款谷歌地图API应用,学习Android系统的开发程序。

一.3课题意义

在当今社会,手机已经成为人们日常生活中不可或缺的工具,以用户体验为核心诉求的智能手机,使手机由单一的通信终端发展成为互联网终端。

越来越多的互联网应用被移植到智能手机中来,导航软件在智能手机中的应用成为了研究热点之一。

在目前大部分智能手机都提供GPS定位服务以及3G无线网络越来越普及的双重驱动下,在Google地图中实现导航服务,是具有可行性的。

目前,GoogleMapAPI的研究空前火热,本文就是要基于Android研究GoogleMapAPI技术,以高效方便地实现人们对实时地图的应用。

GoogleMapAPI的主要目地就是通过不断的更新地图内容实现人们对于最新路段情况的把握以选择最佳路途,节约宝贵时间,并对用户进行实时定位。

第二章Android智能手机平台概述

Android是一种以Linux为基础的开源代码操作系统,主要适用于便携设备。

目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android操作系统最初由AndyRubin开发,最初主要支持手机。

2005年由Google公司收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。

Android主要竞争对手是苹果公司的IOS以及RIM的BlackberryOS。

2011年第一季度,Android在全球的市场份额首次超过了塞班系统,跃居全球第一。

2012年2月数据Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%[3]。

二.1Android手机平台的优点

(1)开放性

提到Android的优势,首先想到的一定是其真正的开放性,其开放性包含底层的操作系统以及上层的应用程序等,Google与开放手机联盟合作开发Android的目的就是建立标准化,开放式的移动单击软件平台,在移动产业内形成一个开放式的生态系统。

Android的开放性也同样会使大量的程序开发人员投入到Android的程序开发中,这将为Android平台带来大量的新的应用。

(2)平等性

在Android的系统上,所有的应用程序完全平等,系统默认自带的程序与自己开发的程序没有任何区别,程序开发人员可以开发个人喜爱的应用程序来替代系统的程序,构建个性化的Android手机系统,这些功能在其他手机平台上是没有的。

在开发之初,Android平台就被设计成由一系列应用程序组成的平台,所有的应用程序都运行在一个虚拟机上面。

该虚拟机提供了一系列应用程序之间和硬件资源通信的API。

而除了该虚拟机,其他的所有应用全部平等。

(3)无界性

Android平台的无界性表现在应用程序之间的无界,开发人员可以很轻松的将自己开发的程序与其他的应用程序进行交互,比如应用程序需要播放声音的模块,而正好你的手机中已经有一个成熟的音乐播放器,此时你就不需要再重复开发音乐播放功能,只需要简单地加上几行代码即可将成熟的音乐播放功能添加到自己的程序中。

(4)方便性

在Android平台中开发应用程序是非常方便的,如果对Android平台比较熟悉,那么想要开发一个功能全面的应用程序并不是什么难事。

Android平台为开发人员提供了大量的使用库及方便的工具,同时也将谷歌地图等强大的功能集成进来,只需要简单的几行调用代码即可将强大的地图功能添加到自己的程序中。

(5)硬件的丰富性

由于平台的开放,众多的硬件制造商推出了各种各样千奇百怪的产品,但这些产品功能上的差异并不影响数据的同步与软件的兼容,例如原来在诺基亚手机上的应用程序,可以很轻松地被移植到摩托罗拉手机上使用,且联系人、短信息等资料更是可以方便地转移。

二.2Android系统架构

Android的系统架构和其它操作系统一样,采用了分层的架构。

android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层[4-5]。

图2.1Android系统框架

Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。

总之Android是一个复杂的智能手机操作系统,其系统构架如图2.1所示。

(1)应用程序层

本层的所有应用程序都是由Java编写的,一般情况下,很多应用程序都是在同一系列的核心应用程序包中一起发布的,主要有拨号程序、浏览器、音乐播放器、通信录等。

该层的程序是完全平等的,开发人员可以任意将Android自带的程序替换成自己的应用程序。

(2)应用程序框架层

对于开发人员来说,接触最多的就是应用程序框架层。

该应用程序的框架设计简化了组件的重用,其中任何一个应用程序都可以发布自身的功能供其他应用程序调用,这也使用户可以很方便地替换程序的组件而不影响其他模块的使用。

当然,这种替换需要遵循框架的安全性限制。

该层主要包含九大部分:

活动管理(ActivityManager),用来管理程序的生命周期,以及提供最常用的导航回退功能;

窗口管理(WindowManager),用来管理所有的应用程序窗口;

内容管理(ContentProviders),通过内容管理,可以使一个应用程序访问另一个应用程序的数据,或者共享数据;

视图管理(ViewSystem),用来构建应用程序的基本组件,包括列表、网格、按钮、文本框,甚至是可嵌入的Web浏览器;

包管理(PackageManager),用来管理Android系统内的程序;

电话管理(TelephonyManager),所有的移动设备的功能统一归电话管理器管理;

资源管理(ResourceManager),资源管理器可以为应用程序提供所需要的资源,包括图片、文本、声音、本地字符串、甚至是布局文件;

位置管理(LocationManager),该管理器是用来提供位置服务的,比如GPRS定位等;

通知管理(NotificationManager),主要对手机顶部状态栏的管理,开发人员在开发Android程序时会经常使用,比如来短信提示、电量低提示,还有后台运行程序的提示灯。

(3)Android运行时库

该层包含两部分,程序库及Android运行时库。

程序库为一些C/C++库,这些库能够被Android系统中不同的应用程序调用,并通过应用程序框架为开发者提供服务。

而Android运行时库包含了Java编程语言核心库的大部分功能,提供了程序运行时所需要调用的功能函数。

(4)Linux内核

Android平台中操作系统采用的是Linux2.6内核,其安全性、内存管理、进程管理、网络协议栈和驱动模型等基本依赖于Linux。

对于程序开发人员,该层为软件与硬件之间增加了的一层抽象层,在使用开发过程中不必时时考虑底层硬件的细节。

而对于手机开发商而言,对此层进行相应的修改即可,将Android平台运行到自己的硬件平台之上。

二.3Android系统组件

Android开发四大组件分别是:

活动(Activity):

用于表现功能。

服务(Service):

后台运行服务,不提供界面呈现。

广播接收器(BroadcastReceiver):

用于接收广播。

内容提供商(ContentProvider):

支持在多个应用中存储和读取数据,相当于数据库[4]。

(1)Activity

Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity可以算是开发者遇到的最频繁,也是Android当中最基本的模块之一。

在Android的程序当中,Activity一般代表手机屏幕的一屏。

如果把手机比作一个浏览器,那么Activity就相当于一个网页。

在Activity当中可以添加一些Button、Checkbox等控件。

可以看到Activity概念和网页的概念相当类似。

一般一个Android应用是由多个Activity组成的。

这多个Activity之间可以进行相互跳转,例如,按下一个Button按钮后,可能会跳转到其他的Activity。

和网页跳转稍微有些不一样的是,Activity之间的跳转有可能返回值,例如,从ActivityA跳转到ActivityB,那么当ActivityB运行结束的时候,有可能会给ActivityA一个返回值。

这样做在很多时候是相当方便的。

当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。

用户可以通过回退操作返回到以前打开过的屏幕。

我们可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。

(2)Service

Service是Android系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。

Service是没有界面的长生命周期的代码。

Service是一种程序,它可以运行很长时间,但是它却没有用户界面。

比如说打开一个音乐播放器的程序,这个时候若想上网了,那么,我们打开Android浏览器,这个时候虽然我们已经进入了浏览器这个程序,但是,歌曲播放并没有停止,而是在后台继续一首接着一首的播放。

其实这个播放就是由播放音乐的Service进行控制。

当然这个播放音乐的Service也可以停止,例如,当播放列表里边的歌曲都结束,或者用户按下了停止音乐播放的快捷键等。

Service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后头的。

(3)BroadcastReceiver

在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。

而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。

可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。

例如,当电话呼入这个外部事件到来的时候,可以利用BroadcastReceiver进行处理。

例如,当下载一个程序成功完成的时候,仍然可以利用BroadcastReceiver进行处理。

BroadcastReceiver不能生成UI,也就是说对于用户来说不是透明的,用户是看不到的。

BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。

BroadcastReceiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。

只要是注册了,当事件来临的时候,即使程序没有启动,系统也在需要的时候启动程序。

各种应用还可以通过使用Context.sendBroadcast()将它们自己的intentbroadcasts广播给其他应用程序。

(4)ContentProvider

ContentProvider是Android提供的第三方应用数据的访问方案。

在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件、等等内容,都是不允许其他直接访问的。

Andorid当然不会真的把每个应用都做成一座孤岛,它为所有应用都准备了一扇窗,这就是ContentProvider。

应用想对外提供的数据,可以通过派生ContentProvider类,封装成一枚ContentProvider,每个ContentProvider都用一个uri作为独立的标识,形如:

content:

//com.xxxxx。

所有东西看着像REST的样子,但实际上,它比REST更为灵活。

和REST类似,uri也可以有两种类型,一种是带id的,另一种是列表的,但实现者不需要按照这个模式来做,给你id的uri你也可以返回列表类型的数据,只要调用者明白,就无妨,不用苛求所谓的REST。

另外,ContentProvider不和REST一样只有uri可用,还可以接受Projection,Selection,OrderBy等参数,这样就可以像数据库那样进行投影,选择和排序。

查询到的结果,以Cursor的形式进行返回,调用者可以移动Cursor来访问各列的数据。

ContentProvider屏蔽了内部数据的存储细节,向外提供了上述统一的接口模型,这样的抽象层次,大大简化了上层应用的书写,也对数据的整合提供了更方便的途径。

ContentProvider内部,常用数据库来实现,Android提供了强大的Sqlite支持,但很多时候,也可以封装文件或其他混合的数据。

在Android中,ContentResolver是用来发起ContentProvider的定位和访问的。

不过它仅提供了同步访问的ContentProvider的接口。

但通常ContentProvider需要访问的可能是数据库等大数据源,效率上不足够快,会导致调用线程的拥塞。

因此Android提供了一个AsyncQueryHandler,帮助进行异步访问ContentProvider。

在各大组件中,Service和ContentProvider都是那种需要持续访问的。

Service如果是一个耗时的场景,往往会提供异步访问的接口,而ContentProvider不论效率如何,都提供的是约定的同步访问接口。

第三章系统开发技术概述

本章主要分析了手机地图服务,并对GoogleMap进行阐述,还给出了Android平台下的位置服务类和地图类。

三.1手机地图服务

三.1.1手机地图服务简介

手机地图服务指的是在手机上利用GPS或网络实现精确定位,并且使用WAP方式或者客户端方式,通过移动通信网络与手机地图应用服务器之间的互联通信,查找自己所在的位置、搜索地点、查询行车路线等的一种与地理信息相关的位置业务。

用户在查询的过程中,不仅可以得到相关的文字信息,还可以通过手机终端友好的人机界面得到直观的地图信息[6]。

手机地图查询中客户端为用户提供了查询的输入接口和与服务器连接的接口,并在手机上显示查询后的地图。

服务器端以HTTP方式接受客户端的请求,并根据请求将地图数据以栅格数据的方式返回给客户端。

手机端地图是安装在手机上的简易的地图文件,详细地地图信息,要通过发送到网络端应用服务器的查询命令解析执行后,再下发到终端进行异步下载。

目前的手机地图业务为用户提供地图下载、浏览和各种操作的集合(放大、缩小、查询),以图形、文字的方式显示给用户,满足了用户基本的地图服务要求。

手机地图服务中,最重要的就是定位技术[7]。

三.1.2手机地图发展趋势

(1)大众化

随着社会的发展,人们对地理信息的需求越来越多,从地图服务中人们得到的不仅仅是方便,还有效率和利益。

由于人们日常生活中不可能随时随地通过网络获取地图服务,而通过手机获取地图服务是解决这个问题的很好方案,因此手机地图服务的推广必将大大方便人们的生活。

(2)行业化

手机地图服务作为一项高新技术产业,对行业的影响是积极的。

一方面,将位置服务与地图相结合可以提高一些相关行业服务的效率。

另一方面,对一些传统行业加以改造,实现其在新环境下的飞跃。

(3)电子化

随着技术的不断发展,手机地图服务将会渗透到更多的行业,但还存在一些限制条件。

比如移动通讯网的覆盖范围,虽然目前我国移动通讯网络的覆盖已经非常广泛,但一些偏远地区还存在盲区。

三.2GoogleMaps特点

2004年10月Google收购了总部位于美国加州山景城以矢量图测绘为主要业务的Keyhole公司[8]。

2005年4月,Google正式推出GoogleMaps,它是一种开放式的免费地图服务,有传统地图、卫星地图和

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2