智能手机GPS功能的实现Word格式.docx

上传人:b****5 文档编号:20593475 上传时间:2023-01-24 格式:DOCX 页数:27 大小:1.28MB
下载 相关 举报
智能手机GPS功能的实现Word格式.docx_第1页
第1页 / 共27页
智能手机GPS功能的实现Word格式.docx_第2页
第2页 / 共27页
智能手机GPS功能的实现Word格式.docx_第3页
第3页 / 共27页
智能手机GPS功能的实现Word格式.docx_第4页
第4页 / 共27页
智能手机GPS功能的实现Word格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

智能手机GPS功能的实现Word格式.docx

《智能手机GPS功能的实现Word格式.docx》由会员分享,可在线阅读,更多相关《智能手机GPS功能的实现Word格式.docx(27页珍藏版)》请在冰豆网上搜索。

智能手机GPS功能的实现Word格式.docx

3.1研究目标…………………………………………………………………8

3.2需求分析…………………………………………………………………8

3.3系统功能设计……………………………………………………………8

第四章系统实现………………………………………………………………9

4.1Elipse文件的结构及功能………………………………………………9

4.2界面设计…………………………………………………………………10

4.3程序模块以及功能设计…………………………………………………10

4.3.1程序模块介绍……………………………………………………10

4.3.2程序模块的功能…………………………………………………10

4.4主要功能的实现…………………………………………………………11

4.4.1获得GoogleMapAPIKey………………………………………12

4.4.2布局及按钮的设置………………………………………………14

4.4.3配置窗体部件字符串文件………………………………………15

4.4.4关于应用配置及声明的设置……………………………………15

4.4.5主程序框架介绍…………………………………………………16

4.4.5.1地图放大缩小的相关操作…………………………………17

4.4.5.2对卫星视图的相关设定……………………………………18

4.4.5.3对坐标显示区域的设置……………………………………18

第五章系统测试………………………………………………………………19

结论………………………………………………………………………………23

致谢………………………………………………………………………………24

参考文献…………………………………………………………………………25

第一章绪论

1.1引言

GPS是英文GlobalPositioningSystem(全球定位系统)的简称,最早它是20世纪70年代由美国陆海空三军联合研制的空间卫星导航定位系统。

其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经过40余年的研究实验,GPS技术的运用已去向平民化,且日益成熟。

由于GPS系统所具有的全天候,高精度,和自动测量的特点,作为先进的测量手段和新的生产力,已经融入到了国民经济建设,国防建设和社会发展的各个应用领域。

其运用提高了生产力,作业效率,科学水平以及人们生活质量,因此可以说GPS技术在经济全球化的今天起着举足轻重的作用,而且可以预见的是全球定位技术对于人们的生活也将越来越凸显它的重要性,人们的生活也将越来越离不开它的存在。

目前,全球共有四种全球定位系统,包括美国的GPS,俄罗斯的格洛纳斯,欧洲的伽利略和中国的北斗,相比较而言,美国的GPS全球定位系统组建的最早,技术也最为成熟,但由我国自主研发的北斗定位系统也毫不逊色。

北斗卫星导航系统是中国自行研制开发的区域性有源三维卫星定位,可在全球范围内全天候、全天时为各类用户提供高精度、高可靠的定位、导航、授时服务[1]。

可以说,上至航空航天,下至工业、渔业、农业生产和日常生活,全球卫星导航定位技术无所不在。

正如人们所说的:

“全球卫星导航系统的应用,仅受人类想象力的制约。

1.2研究内容

为了实现智能手机GPS功能,我事先做了大量的准备。

包括前期对智能手机实现GPS功能这个课题的研究意义及需求进行了分析,也制定出了相应的研究目标及所实现的GPS的性能指标。

然后,我查找了大量书籍,深入了解了安卓操作系统,明白了Android操作系统的由来系统构架以及开发Android应用程序所必须具备的计算机运行环境。

我根据书上的性息,在自己的计算机上搭建了Android开发环境平台。

在论文的中期,我研究了安卓的定位方式,其相对来说还是比较简单的,目前我们可以使用位置管理器和位置提供者进行getLocation的调用。

这个方法返回本机的当前位置的一个快照,这个快照将以Location对象形式提供。

在手持设备中,我们可以获得当前位置的经度和纬度。

这样就完成了自己位置的确定,如果需要查看自己所在的位置的话还需要调用一个地图的API比如GoogleMap[2]。

调用之后就可以在地图显示自己的位置了。

在本次的项目中主要用到的就是当前的经度和纬度,并通过GoogleMap调用当前的地理位置信息,还可以通过视图切换按钮,从手机的视图框中观察到当前位置的卫星视图。

有以上研究结果,我编写出了程序的初步代码。

论文后期,已经完成了基于安卓GPS定位工程的代码编写工作,并对此工程进行运行测试,在安卓2.2智能手机平台,运行此工程,所得到的结果还是比较让人满意的。

1.3论文结构安排

论文将按照下面的描述进行内容的安排。

第一章引言,简要介绍了GPS技术的发展,指出了课题研究的背景、意义和主要内容。

第二章Android系统下的软件开发,对安卓系统的由来及系统构架做了分析和探讨,然后详细介绍了安卓的开发环境且在自己的计算机上完成了运行环境的搭建。

第三章系统分析与设计,明确了系统研究的目标,描述了系统的功能结构,对系统需求进行了分析。

第四章系统实现,对程序进行了操作界面的设计,以及具体的编写和模块搭建工作。

第五章系统测试,描述了对安卓智能手机实体机运行软件的测试。

说明了程序运行及安装的方法,进行了现实中的GPS定位。

结论与致谢,总结了本课题的研究工作,提出了今后进一步工作的方向,并向我帮助和关心我的老师、同学和朋友们表示了衷心的感谢。

第二章Android系统下的软件开发

2.1Android系统简介

2.1.1Android的由来

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

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

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

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

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

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

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

2.1.2Android的系统架构

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

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

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

在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程,还有其他诸如:

Qt(qtforandroid)、Mono(monoforandroid)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。

另外,谷歌还在2009年特别发布了针对初学者的AndroidSimple语言,类似Basic语言。

而在网页编程语言方面,JavaScript,,HTML5,dojo、mobl、PhoneGap等等都已经支持Android平台。

而在Android系统底层方面,Android使用C/C++作为开发语言[5]。

2.1.3Android的应用程序开发

早期的Android应用程序开发,通常通过AndroidSDK(Android软件开发包)下使用Java作为编程语言来开发应用程序,但通过不同的软件开发包,则使用的编程语言也不同。

例如开发者可以通过AndroidNDK(AndroidNative开发包)使用C语言或者C++语言来作为编程语言开发应用程序。

同时谷歌还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的VisualBasic语言[6]。

此外,谷歌公司还推出了GoogleAppInventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。

2.2Android开发环境的构建

2.2.1Android系统开发环境基本组成

Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。

只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:

JavaRuntimeEnvironment)。

此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。

同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。

简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发[7]。

(1)JavaJDK

(2)Eclipse

(3)ADT

(4)AndroidSDK

2.2.2JAVAJDK的安装

首先登陆JAVAJDK官网,JDK。

安装完成后,还需要设置环境变量,打开我的电脑->

属性->

高级系统设置->

环境变量->

系统变量中添加以下环境变量,如图2.1所示。

图2.1添加系统环境变量

(1)JAVA_HOME

指明JDK安装路径,就是刚才安装时的路径C:

\ProgramFiles\Java\jdk1.6.0_21,此路径下包括lib,bin,jre等文件夹

(2)PATH

Path使得系统可以在任何路径下识别java命令,设为:

%JAVA_HOME%\bin;

%JAVA_HOME%\jre\bin

(3)CLASSPATH

CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为:

.;

%JAVA_HOME%\lib;

%JAVA_HOME%\lib\tools.jar(要加.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME。

上述环境变量设置好了后,从开始菜单栏中运行cmd,在命令窗口里面运行“java–version”命令,如果可以从窗口中看到类似图2.2的信息,即为安装成功。

图2.2环境变量成功提示

2.2.3Eclipse的安装

登陆Eclipse的官网http:

//www.eclipse.org/downloads/并下载Eclipse,下载完成后,双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help->

InstallNewSoftware->

选项卡上的AvailableSoftware,点击右侧的“Add”输入http:

//dl-with”下拉菜单中选择刚才输入的网址。

过一会就会出现一个DeveloperTools选项,勾上以后点击Next以后Eclipse会自动网上查找Android开发工具插件,然后找到AndroidDDMS和AndroidDevelopmentTools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse[8]。

2.2.4ADT的安装

重启后打开Eclipse菜单Help--->

installnewsoftware选择ADT,输入Name:

ADT;

Location:

https:

//dl-Next,接受其中的协议,最后会自动安装。

2.2.5AndroidSDK的安装

登陆AndroidSDK下载页面SDK,下载完成后解压。

然后选择Eclipse菜单中的Windows->

Preferences在左侧的Android项目中SDKLocation中填入AndroidSDK解压后的目录,然后点击Apply,如图2.3所示。

图2.3SDK安装成功界面

按“确定”后,重新启动计算机。

重启计算机以后,进入cmd命令窗口运行android-h如果有类似以下的输出,如图2.4所示,表明SDK安装成功:

图2.4验证AndroidSDK是否安装成功

至此Android的开发环境搭建成功[15]。

第三章系统分析与设计

3.1研究目标

使用组件技术在Android平台实现手机GPS软件的开发。

具体目标包括:

(1)界面友好,简单实用,可操作性强,适合各年龄阶层使用

(2)程序运行速度快,占用系统内存小

(3)软件大小要小,便于用户用手机直接下载使用

3.2需求分析

本设计实现了基于Android平台手机开发的GPS接收机系统设计的运行。

GPS应用越来越广泛,我们的设计只是应用的基础和开端。

在实际应用中我们要结合各个领域的特殊情况和特定的技术需求,进行有针对性的处理和设计。

GPS提供的定位信息包括了经度、纬度、海拔、速度、航向、磁场、时间、卫星个数及其编号等卫星信息其接收数据方法类似,故本设计只是提取了其中的部分价值性较高的数据信息,主要就是显示用户当前所在位置的经纬度坐标,并可以对视图框中的地图进行放大和缩小操作,如果用户看不懂地图,还可以调用此区域的卫星视图。

3.3系统功能设计

系统的主要功能包括:

(1)定位当前位置信息,通过智能手机内置的GPS硬件,对用户的地理位置进行卫星定位,将所得到的经纬度显示在操作界面上,并将此坐标上传至GoogleMap,以便获得当前位置的地图信息,然后将得到的信息以图片的形式显示在手机终端上。

(2)地图信息的放大和缩小,用户如果所在位置比较空旷,难以从地图上辨认位置,便可放大或缩小地图,通过观察附近的道路或村庄来推断自己的实际位置。

(3)卫星视图切换,如果用户的地图意识不强,还可以进行视图切换,看到此区域的卫星视图,这样以来就可以通过观看地图上的房屋排列或者是标志性建筑来进行定位。

第四章系统实现

4.1Elipse文件的结构及功能

首先,要在Eclipse里面创建一个新工程,命名为MapView,如图4.1所示。

图4.1工程的源代码文件

下面介绍下Android的工程目录结构。

res:

放置应用程序用到的资源文件。

其包含(Drawable,layout,values等目录)。

当这个目录下的文件发生变化时,src目录下面的R.java就会自动发生变化。

assets:

主要放置多媒体等数据文件。

res/drawable:

放置应用到的图片资源。

res/layout:

放置一些与UI相应的布局文件,都是xml文件。

res/values:

放置字符串,颜色,数组等常量数据。

AndroidManifest.xml:

相当于应用的配置文件。

在此文件里必须声明应用的名称,应用所用到的Activity,Service,Reveiver等[10]。

4.2界面设计

根据需求分析可以知道,应用程序包含一个界面就可以了,但是这个界面虽然简单,但是要包含一个视图框、三个按钮和一个状态栏。

根据对用户界面显示内容的分析,绘制出用户界面的草图,如图4.2所示。

 

图4.2用户界面草图

4.3程序模块以及功能设计

4.3.1程序模块介绍

该程序的模块设计非常简单,总共分为五个模块:

一个视图框、一个坐标显示区域和三个按钮。

视图框负责对当前位置进行图像进行显示。

坐标显示区域负责对显示当前坐标。

三个按钮分别为:

放大,缩小,卫星视图。

4.3.2程序模块的功能

(1)坐标显示区域

LocationManager.GPS_PROVIDER视图框将从GPS获取最近的定位信息。

location.getLatitude,获取纬度信息。

location.getLongitude,获取经度信息[14]。

(2)视图框

根据GPS的定位信息,系统将通过com.google.android.maps把地图显示在视图框中。

(3)放大、缩小钮

分别调用zoomIn和zoomOut来放大或缩小地图

(4)卫星视图

编写switchMap来调用mapview.setSatellite来实现卫星视图和普通视图之间的切换。

到这里该程序所要实现的功能就基本可以实现了。

4.4主要功能的实现

为了实现系统功能,我对此进行了深入的研究。

要知道每一种移动开发环境都有自己的基类。

如J2ME应用程序的基类是midlets,而Android程序的基类是Activity。

这个Activity为我们提供了对移动操作系统的基本功能和事件的访问。

这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以及其他底层的手持设备的访问。

实质上,我们的应用程序将是一个Activity类的扩展。

在本论文中我将使用Activity类来编写Android程序。

View类是Android的一个超类,这个类几乎包含了所有的屏幕类型。

但它们之间有一些不同。

每一个view都有一个用于绘画的画布。

这个画布可以用来进行任意扩展。

本文为了方便起见,只涉及到了两个主要的View类型:

定义View和Android的XML内容View。

在上面的代码中,使用的是“HelloWorld”XMLView,它是以非常自然的方式开始的。

如果我们查看一下新的Android工程,就会发现一个叫main.xml的文件。

在这个文件中,通过一个简单的XML文件,描述了一个屏幕的布局。

由于本文主要应用就是GoogleMapAPI,所以其中涉及到大量方法以及相关参数,简单介绍如下[12]:

(1)GBrowserIsCompatible()-- 

是否支持GoogleMapAPI 

(2)location.getLatitude()– 

目标位置的纬度坐标;

(3)location.getLongitude()– 

目标位置的经度坐标

(4)newGLatLng(myLat,myLng)-- 

设置经纬度

(5)map.setCenter(newGLatLng(myLat,myLng),14)-- 

设置地图默认的中心点经纬度 

(6)newGLatLng(myLat,myLng)-- 

设置中心点的经纬度

(7)14-- 

地图的默认缩放比例大小值,范围为1-18 

(8)newGMap2(document.getElementById("

GoogleMap"

))-- 

获取显示的地图容器

(9)map.setMapType(G_NORMAL_MAP);

-- 

设置显示地图的类型可选值:

a.G_NORMAL_MAP-- 

默认地图样式

b.G_SATELLITE_MAP--GoogleEarth卫星地图

c.G_HYBRID_MAP-- 

混合模式地图

(10)newGIcon(G_DEFAULT_ICON)-- 

设置标记样式

(11)addControl()-- 

给地图添加控件

常用的可选控件有:

a.newGLargeMapControl()-- 

大的地图缩放级别控件

b.newGOverviewMapControl()-- 

地图缩略图控件

c.newGScaleControl()-- 

比例尺控件

d.newGMapTypeControl()-- 

地图类形选择控件

(12)enableContinuousZoom()-- 

允许连贯改变地图比例

(13)createMarker(latlng)-- 

自定义方法

(14)newGMarker(latlng)-- 

在地图中设置标签,参数latlng-- 

标签的坐标

(15)Event.

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1