大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx

上传人:b****1 文档编号:3043950 上传时间:2023-05-01 格式:DOCX 页数:34 大小:420.83KB
下载 相关 举报
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第1页
第1页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第2页
第2页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第3页
第3页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第4页
第4页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第5页
第5页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第6页
第6页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第7页
第7页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第8页
第8页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第9页
第9页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第10页
第10页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第11页
第11页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第12页
第12页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第13页
第13页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第14页
第14页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第15页
第15页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第16页
第16页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第17页
第17页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第18页
第18页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第19页
第19页 / 共34页
大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx

《大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx(34页珍藏版)》请在冰点文库上搜索。

大学毕业设计基于android的地图定位与搜索应用程序设计Word文件下载.docx

定位;

搜索;

应用程序

ABSTRACT

WiththedevelopmentofAndroidtechnologyandsmartmobiledevices,mobilephonemapapplicationbasedAndroidsystemismoreandmorewidely.ThedesignofthemainpurposeisfortheAndroidplatformuserstoprovideasimplesetofmapsandsearchfunctionsinoneofthemobilephoneApp,convenientliketravelorbusinesstripuserstoquicklydeterminetheircurrentlocationanddestinationlocation,accuratesearch.

LocationmapofAndroidplatformandsearchshouldnowbecomethemostcommonmobileInternetapplicationsbasedonlocation,andthesearchfunctionreferstotheacquisitionofspecificlatitudeandlongitudedisplaysinformationaboutthegeographiccoordinateonthemap.Thebiggestadvantageliesinitsrichhardwareselectivityandgooddatadevelopment.Afteraweekofobservationabouttheothermobilephonemapapp,afterseveralsummaryrevisionfinallydeterminedthis"

maplocationofAndroidplatformandapplicationprogramdesign"

designsearchbasedoncontentmainlyincludesthefollowingseveralaspects:

Thesystemneedsanalysis,Androidapplicationdevelopmentandrunningenvironment,systemandprocessdesign,systemfunctiondesign,theAndroidsystemapplicationarchitecture,AndroidUIlayoutandman-machineinterface,systemdevelopmentrequiredcomponentsanddatastoragetechnologiessuchasmobilephone,GPSsatellitepositioningmodule,maploadingfunction,thetargetlocationsearchandinformationdisplay.

Keywords:

Android;

Location;

Search;

Application

1.前言

1.1.选题背景

就目前国内外来说,Android操作系统在手机市场上占据着一个相当大的比重。

据统计在2012年,全球Android手机的销量大约在4.8亿部左右,在智能手机市场的份额达到了68.8%的高度,到2013年,Android手机在全球的销量飙升到了7.812亿部,同时,在智能手机市场的市场份额也达到了78.9%的新高度[]。

由于Android系统相较于其他系统拥有更好的开源性,因此开发者可以根据自己实际需求的不同对安卓的软件包进行对应的修改。

也由于系统开源性较好相应的拓展性也比较好,这一方面方便了众多应用开发者将不同的应用移植到同一个开发平台极大的方便了移动应用的集合;

另一方面,厂商可以根据自己的需要同过修改安卓的SDK软件包进行“定制化开发”。

我认为Android之所以发展势头如此迅猛有以下三个原因:

免费、开源性好、良好的运营策略。

这三个原因为安卓在将来的发展中打下了坚实的基础。

免费吸引了很多厂商加入,这对提高市场份额起了很大的作用;

代码的开源会为开发者节省宝贵的开发时间从而吸引了更多的开发者进入应用开发;

丰富的应用也吸引了越来越多的用户选择。

而且谷歌也在不断的进行系统研发,对版本的更新也从不间断,这有效的保障了Android手机用户的良好体验。

随着智能手机逐渐走进普通人的生活,它将成为人们获取外界信息的主要设备[]。

所以说,在Android平台开发地图服务应用程序的发展前情非常可观。

现许多手机地图大多都做的比较复杂,许多普通人用着根本不方便,本次程序设计将解决这个问题,以服务广大普通人为最终目的。

Android平台为广大开发者提供的功能有许多,其中就包括灵活的地图展示功能和方便快捷的地图控制功能,方便开发者在Android平台进行地图服务应用程序的开发。

另外,Android平台基本上是免费的,所以在降低软件成本方面有较好的优势,最能够终让每位用户自由获取需要的信息,这也将为手机地图服务的普及做出重要贡献。

1.2.课题的意义

在现代,数字通信技术飞速发展,特别是3G通信技术逐渐成熟,这造成了智能手机的应用越来越广泛,几乎每十个国人有九人会拥有一部手机。

工业和信息化部最新发布2015年3月份通信业经济运行情况报告显示,利用手机上网的用户数再创历史新高,目前移动电话用户在我国的规模将近13亿,移动互联网用户规模近9亿,同比增长5.7%。

3月份,4G用户在这时候依然保持高速增长态势,造成超过2300万的净增数量。

通信技术的发展不仅推动了智能手机的高速发展,而且还因此造成了手机应用软件近年来的高速发展,与手机地图服务有关的软件更是层出不穷。

近年来,人们高度关注LBS,LBS是一种基于位置的服务,它主要是通过特定的方式获取到用户的GPS位置信息,在特定平台的支持下,为用户提供相应服务的一种增值业务[],目前,LBS被称为最具实用性的移动互联网应用。

现在的主流的地图服务大都是以单机和网页等方式运行,这些方式大都比较笨重,灵活性不高,不仅不适合用户外出、旅游使用,而且在进一步发展和应用上受到极大的限制。

通过无线移动通信网络,可以轻松打破地理位置的局限性,为人们的出行带来极大地方便。

并且,目前大多数手机地图服务设计的内容都比较复杂,一些普通用户使用起来非常不方便。

基于以上分析,开发出一款简洁实用的Android手机地图服务软件具有极好的实用意义。

另一方面,Android手机操作系统是Google公司及其开放手机联盟(OHA)于2007年11月5日正式向外界展示的,是全球第一个专门为移动终端的开发而打造的平台,具有免费、完整、开放的特点[],这是一个具有划时代意义的真正意义上的移动设备开发平台。

正是因为其开源性的特点,使得Android从刚刚推出时就受到了很多开发者的高度关注。

更是由于其免费与开源性的特点,Android操作系统不只是局限于手机端,在许多笔记本电脑或其他智能设备上也支持Android操作系统的安装使用。

所以基于Android平台的应用程序的开发将会有不可限量的发展前景[]。

所以,研究Android平台的体系架构,开发Android端应用程序具有很大的现实和理论意义。

1.3.Android的现状与前景

在国内,随着Android的住逐渐崛起,Android在中国的粉丝也越来越多,许许多多的系统开发者都选择投身Android的开发当中。

据相关部门统计表明,在过去的几个月,Android手机在国内的持有量大幅上升,用户对Android的态度也发生了翻天覆地的变化。

总而言之,Android在国内的发展前景不可限量,但是还存在一些小小的瑕疵,其中之一便是许多开发商只为自己利益以为的索取,而不以服务大众为目的,之开源不开放,这样的发展情况最终将不利于Android在国内的健康发展。

在国外,Android当前正处在蓬勃发展的阶段。

根据美国市场调研机构的最新报告显示,仅仅是2012年的时候,基于Android系统的手机的销售量已经占据了全美总销售量的28%,而同样应有雄厚背景的IPhone只占21%,这充分显示出Android在国外的市场占优比要高于其他智能系统,可想而知,现如今随着Android的不断开发推广,这个比重将会变得更大,因此,进行Android系统开发的开发者将会越来越多,选择Android系统手机的人会越来越广泛,它在国外的霸主地位将不可动摇。

Android英文原意是“机器人”,自从Google公司开发开发出基于linux的开源手机操作系统后,现在,Android特指全球第一个真正具有开源、完整、免费特点的手机操作系统,目前已经发布的版本从Android1.5到Android5.1,应经拥有多达不下十个版本,现在最高的版本是5.1,但是目前市场占有率最高的还是Android2.3,因为该版本依然是目前最稳定的版本。

另外,Android3.0是专用于平板电脑的[]。

Android系统具有向下兼容的特点,即低版本系统软件可以在高版本系统中运行。

目前,Android平台在市场上依然拥有很多优势,其中最突出的还是免费和开源,这绝对是无可争议的。

它的免费指的是Google公司免费向全球提供Android操作系统,所有的移动电话供应商都可以免费使用Android操作系统,这将为他们省去大部分制造成本,使智能手机开发的门槛极大的降低,极大地推动了Android系统在全球智能手机市场的普及。

所说的开源,就是指Android系统的源码是对外开放的,任何供应商都可以自己对其进行更改和再次开发,设计出适合自己的独特版本,不止如此,其开源的特点也为Android手机开发者提供了更广阔的发展空间。

从以上信息不难看出,Android发展前景不可限量,作为手机开发人员一定要抓住这个机遇,因为根据艾媒咨询(iiMediaResearch)统计数据显示Android开发者的数量从2008年至2013年正在急速增加,这也是手机开发人员的一个机遇,通过许许多多的市场分析也许大家就会明白Android的步伐现在迈的还是很大,能否跟上它的脚步,就看抓不抓得住这个千载难逢的机遇了。

1.4.研究内容

本文的研究内容主要包括:

研究Android平台的开发流程、了解Android平台的内部结构框架、研究GPS定位方面的内容、研究在Android平台上进行应用程序的开发过程、结合XX地图API实现基于Android平台的地图定位与搜索服务的应用。

根据我的设想,本次地图应用应该包括以下几个模块:

地图模块,可以进行主流地图的操作,如放大、缩小、拖动等;

定位模块,可以通过GPS获取用户当前地理坐标,并在地图标记;

搜索模块:

搜索模块分为两种情况,一是定点搜索,用于搜索确定位置,二是范围搜索,用于搜索一定范围内的建筑物;

收藏模块,顾名思义用于收藏用户拜访过的以及用户关注的地理位置信息;

天气模块,天气模块是本次设计的扩展内容,实现目的是方便用户了解当地天气情况,选择合适的出行方式。

2.技术支持与XX地图API

既然要做关于地图的APP,首先就要了解一下相关的技术支持。

Android平台手机地图开发的相关技术主要包括手机地图服务、GPS的定位技术以及本次用到的XX地图API,下面将依次介绍着三种技术的相关情况。

2.1.手机地图服务

手机地图服务主要是运用GPS技术准确定位手机移动用户的地理位置,帮助用户了解周边位置情况,并通过客户端,方便用户在移动互联网与手机地图服务器之间搜索、查询路线位置的应用。

手机地图服务不仅能够使用相关文字表述查询信息,并且能够通过地图信息直观表达给用户,友好的人机交互界面,提供了良好的用户体验[]。

查询接口与服务器连接接口主要通过手机地图客户端来提供。

手机地图能够执行放大、缩小和移动等操作,不仅可以利用文字表述反馈给用户查询结果,还能够利用地图信息将查询结果在地图上直观的显示出来。

客户端以HTTP提交的方式向服务器端发送请求,服务器端对收到的请求做出相应的处理,将处理后得到的地图数据以栅格数据的方式返回给客户端[]。

它的大致过程如图2-1所示。

客户端向服务器端发送的是HTTP请求;

服务器端向客户端传输的是栅格数据。

图21地图查询流程图

2.2.定位技术

手机定位技术是一项能够获取并在地图上标识移动手机或终端用户位置信息的技术和服务,基于GPS的定位方式指的是利用手机上自带的GPS定位模块将自己的位置信号发送到后台业务来实现手机定位的。

基站定位的原理是利用手机相对基站的距离来确定手机位置的,基站定位方式不需要手机拥有GPS功能[],基站的密度在很大程度上将直接影响测量精确度,造成的误差有时甚至会超过一公里。

二者相比较,显然基于GPS的定位方式定位精度比较高。

除了以上这两种定位方式,我们还可以利用Wifi在小范围内达到定位的效果。

我们还可以根据提供服务的方式不同将定位系统大致分为两种:

自有手机定位系统和公用定位服务[]。

Ø

自有手机定位:

自有手机定位系统不仅灵活而且易于控制,是目前手机定位系统的首选,自有手机定位系统一般与企业或政府内部网相连,而且为他们提供的基于位置的服务大都与自身业务相关。

利用自有手机定位系统的业务主要有:

货物和事件定位、人员考勤以及对其进行基于地理位置的分析和统计等。

公用定位服务:

公用定位服务一直以来都是由移动运营商提供。

现在市场上专门为某个企业或政府部门自己服务的私有定位系统大多用的公用定位服务。

目前应用这种定位方式的业务或场所主要有:

物流货物、公安执法、车辆或长途车定位以及紧急救援定位等。

2.3.系统相关类

Android.Location是地理定位服务包,可以实时获取当前设备所处的地理位置信息,不仅如此,他还提供了基于网络和GPS的定位服务[]。

GPS_ROVIDER可以定位当前设备的地理位置,一般用在设备自身定位等功能上;

NETWOR_PROVROER提供GPS和网络的定位服务。

Android.Location定位的相关类如表2-1所示:

位置类

Location

定位管理类

LocationManager

位置提供者

LocationProvider

定位监听类

LocationListener

位置标准类

Criteria

表21定位相关类

Location:

提供地理位置信息,经纬度、高度、测量速度等。

getLongitude()方法获取经度信息,

getLatitude()方法获取纬度信息,

getAltytyde()获取高度信息,

getSpeed()方法对应获取速度信息。

LocationManager:

这是定位系统的核心组件,可以实时获取和更新地理位置信息。

调用getLocationManager()方法返回最新位置信息。

调用requestLocationUpdates()方法用于注册地理位置更新事件。

调用requestLocationUpdates(String,long,float,LocatonListeiier)方法注册接收位置跟新事件的接收器。

调用requestUpdates()方法删除注册信息,停止位置更新事件。

LocationProvider:

位置服务的抽象类。

可以周期性的报告当前设备的地理位置信息[]。

每个定位服务提供商都会提供一套准则,所有LocationProvider都有自己的使用准则。

enableProvider()方法用于启动LocationProvider。

disableProvider()方法用于关闭LocationProvider。

LocationListener:

用于实时监听从LocationManager通知的位置变化。

调用onLocationChanged()方法,实时更新定位位置。

实现一个LocationListener接口获取GPS信息。

当GPS的位置信息发生变化时,会调用onLocationChanged()方法[]。

当GPS的状态改变时,会调用onStartChanged()方法。

Criteria:

此类可以根据查询条件提供位置信息。

比如地图解析精度、功耗、海拔高度、速度等,系统可以根据筛选条件选出合适的属性定位者,这个方法主要通过LocationProvider来实现。

2.4.XX地图API

XX地图API是XX集团专门免费为开发者提供的基于XX地图服务的应用接口,它不仅免费向开发者提供地图展示、搜索与定位、云存储和检索等多种强大功能,同时还为开发者集成了AndroidSDK、定位SDK等多种开发工具与服务。

XX地图API适应范围非常广泛,不仅适用于PC端,还适用于移动端、服务器等多种设备,是一个多种操作系统下的地图应用开发接口[]。

系统构架图如图2-2所示

图22XX地图API系统构架图

XX地图AndroidSDK是一个应用程序接口,基于Android2.1及以上版本设备,我们可以通过该接口实现丰富的LBS功能:

地图:

提供地图(2D、3D)的展示和缩放、平移、旋转、改变视角等地图操作;

POI检索:

可根据关键字,对POI数据进行周边、区域和城市内三种检索;

地理编码:

提供地理坐标和地址之间相互转换的能力;

线路规划:

支持公交换乘查询、公交信息查询、线路规划和路径检索;

覆盖物:

提供多种地图覆盖物(自定义标注、几何图形、文字绘制、地形图图层、热力图图层等),满足开发者的各种需求;

定位:

采用多种定位模式,任务步骤是先用定位SDK获取到当前或特定位置的定位信息,然后使用地图SDK将定位信息展示出来;

离线地图:

支持使用离线地图,不仅可以大量节省用户数据流量,同时可以为用户的地图体验提供更方便的途径;

导航:

支持调启XX地图导航和Web导航来满足用户对导航功能的需求;

LBS云检索:

支持用户检索存储在LBS云内的自有POI数据,并展示;

特色功能:

提供短串分享、Place详情检索、热力图、调启XX地图等特色功能,帮助开发者搭建功能更加强大的应用;

应用XX地图API进行开发,必须经过两个重要的步骤:

1)下载XX地图开发包

在使用XX地图API之前,首先需要在创建的工程中引用XX地图API开发包,只有将开发包引用进我们的工程才能进一步使用XX地图API,开发包里面应该包含两个文件:

libBMapApiEngine.so和baidumapapi.jar[]。

首先在工程libs文件夹中,将baidumapapi.jar拷贝到根目录,然后在根目录下创建armeabi子目录,将libBMapApiEngine.so扔到该目录下。

最后在工程属性Libraries中选择“AddExternalJARs”,再选择baidumapapi.jar,确定选择,这样就可以使用XX地图API了。

2)申请API密钥

在使用XX地图SDK为您提供的各种LBS能力之前,我们需要到XX地图开发首页获取到XX地图API开发密钥,给密钥关联我们的XX账号[]。

因此,我们必须先有XX帐户,才能获得开发密钥。

并且,该密钥与我们创建的过程名称有关,具体流程在XXLBS开放平台有具体介绍。

在AndroidManifest中添加开发密钥、所需权限等信息:

1)在application中添加开发密钥:

2)添加所需权限:

3.Android应用程序开发流程

每个Android应用程序的开发都是有一定的流程的,既有相同的地方也有各自的特点,在本节将简单介绍Android应用程序的具体开发流程。

3.1.Android应用程序运行流程

Android应用程序运行在手机端或者是虚拟机中。

一个Android程序需要打包成.apk文件安装后才能运行。

运行过程比较复杂,下面简单介绍下。

当一个程序安装好后,Android系统会给这个程序分配一个私有存储空间,即“SecuritySandbox”,目的是用来存放配置清单文件以及二进制资源文件等,如图3-1所示。

图3-1Android应用运行分析图

同时,系统会分配一个唯一的ID标识给每一个安装的应用程序,目的是用来区分不同应用程序的文件和资源,系统还可以通过设置权限限制每个应用程序只能访问自己的资源和文件。

设置权限可以保证应用程序之间的安全性和独立性,但是,有时一个应用程序可能需要访问其他应用程序的数据和系统资源,Android平台提供了两种解决方式:

1)一种方法是让几个应用程序使用一个ID,这样它们之间就可以相互访问其他应用程序的文件;

当然也可以让几个应用程序同时使用一个虚拟机,在一个进程中运行。

2)另一种方法是在安装应用程序时,可以让用户设置权限,然后每个应用程序根据用户自己设置的权限访问其他程序的数据和系统资源。

经过多次试验以及相关资料验证,Android应用程序的运行会经历以下工作过程,如图3-2所示。

通过这个示意图,我们可以清晰地了解到Android应用程序运行的过程。

图3-2Android应用编译过程

3.2.Android开发环境配置

Android开发环境的搭建是进行Android应用程序开发必不可少的一个过程,搭建环境需要准备JavaJDK、Eclipse(或MyEclipse)、AndroidSDK以及ADT。

1)下载并安装JDK。

2)JDK安装完成后,需要配置环境变量,JAVA_HOME、PATH、CLASSPATH。

环境变量配置好后,运行

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

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

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

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