基于Android的GPS开发应用

更新时间:2023-08-12 01:19:02 阅读量: 外语学习 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

摘要 ---------------------------------------------------------------------------------------------------------------------------I ABSTRACT --------------------------------------------------------------------------------------------------------------- II 引言 -------------------------------------------------------------------------------------------------------------------------- 1 1 绪论 -------------------------------------------------------------------------------------------------------------------- 2

1.1 什么是ANDROID操作系统 ---------------------------------------------------------------------------------------- 2

1.2 ANDROID平台系统架构 -------------------------------------------------------------------------------------------- 2

1.3 ANDROID应用组件的构建 ---------------------------------------------------------------------------------------- 4

1.4 平台优势 --------------------------------------------------------------------------------------------------------------- 5 2 BASIC4ANDROID和GPS ---------------------------------------------------------------------------------------- 7

2.1 BASIC4ANDROID ------------------------------------------------------------------------------------------------------- 7

2.2 在BASIC4ANDROID开发环境编写程序过程 -----------------------------------------------------------------12

2.3 GPS ---------------------------------------------------------------------------------------------------------------------13

2.4 ANDROID定位的服务类库 ----------------------------------------------------------------------------------------14 3 系统设计框架 --------------------------------------------------------------------------------------------------------- 16

3.1 系统的功能设计 -----------------------------------------------------------------------------------------------------16

3.2 用户界面的设计 -----------------------------------------------------------------------------------------------------17

3.3 主要模块的流程图 ---------------------------------------------------------------------------------------------- 19 4 ANDROID手机GPS前景 --------------------------------------------------------------------------------------------24 5 结论 -------------------------------------------------------------------------------------------------------------------------26 致谢 ------------------------------------------------------------------------------------------------------------------------------27 参考文献 ------------------------------------------------------------------------------------------------------------------- 28

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

随着无线通信和移动平台技术的快速发展,GPS也在其应用的领域得到了不断地延伸。特别是手机已经逐步成为了个人信息的终端,在人们的日常生活中扮演了一个难以替代的角色。基于这样的大环境GPS在手机上的开发应用就显得尤为重要。在当前的智能手机市场上搭载Android 操作系统的手机占有绝对的数量优势。在2012年的报告中Android手机市场份额达到75%,在中国这一份额更是达到了90%。所以在基于Android操作系统的手机上开发应用软件是很有必要,也是很实用的。在人们的日常生活中对于GPS的应用也是越来越多。因此Android手机和GPS的结合在市场上表现出了巨大的潜力。

本次毕业设计是基于Android手机的GPS应用开发。所用到的开发平台是Basic4Android 。实现对某一区域的定位和导航。利用Basic 4Android将代码编译成Android原生应用,使得软件在Android手机中的应用得以实现。通过编写代码与手机的内置GPS的结合,生成一款软件实现定位和导航。

关键字:Android手机 ;Basic 4Android ;GPS ;定位 ;导航

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

ABSTRACT

As wireless communication and mobile platforms rapid development of technology , GPS is also the field of application has been continuously extended . Especially mobile phones has gradually become a personal information terminal , in people's daily life plays an irreplaceable role. Based on this environment of GPS in the phone application development is particularly important . In the current smart-phone market with Android operating system, the number of mobile phone has an absolute advantage. In the 2012 report Android phone market share reached 75% , in China this share is to reach 90%. Therefore, based on the Android mobile phone operating system software development and application is necessary , but also very practical . In people's daily lives for GPS applications are also increasing. Therefore, the combination of Android phones and GPS on the market has shown great potential. The graduation project is based on the Android phone's GPS application development.

The development platform is used Basic4Android. Implementation of a regional positioning and navigation. Use Basic 4Android the code compiled into native Android applications , making the software application in the Android phone can be achieved. By writing code with the phone 's built-in GPS, combine to produce a piece of software to achieve positioning and navigation.

Keywords : Android Phone;Basic 4Android;GPS;positioning;navigation

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

引言

近年来随着android系统的的快速发展,android操作系统已经成为第一大智能手机操作系统,对于android手机软件的开发也是目前通信产业的一大热点。越来越多的应用软件在随着人们的日常生活需要被开发和应用。许多人也加入到了android开发的行列。

对于一般没有经过专业学习的人来说自己编写一款基于android手机的应用软件是比较困难的。Basic4android的出现给广大的编程爱好者提供了一个平台。Basic4 android是一个很简单但是功能却很强大的android应用开发环境,在这个开发环境中所用到的语言对于一般的编程者来讲都不是很陌生。Basic4android语言和visual basic比较类似,它支持更多的对象,而且Basic4android 直接将代码编译为android原生应用,不需要其他环境的支持。Basic4android 这一平台完全是为了android应用的开发,对其的的平台不支持。所以Basic4android 是初学者的最佳选择。

GPS全球卫星定位系统在人们的日常生活中所起的作用也越来越显著,为人们的出行带来了极大地方便。然而专业的GPS显然不是人们在生活中的最佳选择,昂贵的费用和人的生活方式等都阻碍其进入大众日常生活,伴随着手机的发展,智能手机已经逐步改变了我们的生活手机成为了个人信息的终端。所以GPS与手机的结合就显得尤为重要。Android手机作为手机的代表,基于android手机的GPS应用开发显示出了广阔的市场前景。已成为通信业的热门领域。

在本论文中全面详细地介绍了android操作系统以及利用利用Basic4android编写android应用软件,以及对于一些关键技术说明及前景状况。第1章为序论,包括什么是android操作系统,以及它的发展和应用。第2章介绍了Basic 4Android 以及GPS的相关应用和原理;第3章讲利用Basic4android开发环境编写GPS的定位和导航,对编程思想;第4章阐述GPS在搭载到手机中的应用和前景预测。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

1 绪论

本课题所设计的就是基于Android手机的GPS开发应用,所以最终的结果是要Android手机上使用。Android手机系统自从被推出后就以很快的速度逐渐的占据了手机操作系统的一哥位置,成为当前市面被应用最多的操作系统。所以本课题的基础就是先要了解是么是Android操作系统,这个操作系统的架构和组件,以及Android手机操作系统凭借它的哪些优势得到了运营商和消费者的喜爱,下面将给出Android手机操作系统的认识和介绍。

1.1 什么是Android操作系统

Android是一款基于Linux为基础的操作系统,Android操作系统最初由Andy Rubin开发,后被谷歌收购,由Google公司和开放手机联盟领导和开发。主要用于便携式的移动设备。该平台是由操作系统、中间件、用户界面和一些应用程序组成。

Android的发展也是通信业界的一大亮点。这个由Andy Rubin等人创建Android公司,并组建Android团队。被Google收购了Android公司及其团队。并于2007年11月,Google正式对外界展示了这款名为Android的操作系统,与此同时谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发商及电信营运商组成了名为开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。

在08年9月,谷歌正式发布了Android 1.0系统,这也标志着Android系统最早版本的诞生。到11年7月Android系统设备的用户总数达到了1.35亿,Android系统已经成为智能手机领域占有量最高的系统。

1.2 Android平台系统架构

Android操作系统也采用了分层的架构,从架构上看可以分为四层,从低到高分别是Linux内核层、系统运行库层、应用程序框架层和应用程序层。

应用程序层

Android会同一系列核心应用程序包一起发布,包含了客户端,联系人管理程序,浏览器,地图,日历,SMS短消息程序等。用JAVA语言开发和编写了所有的应用程序。

应用程序框架

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

开发人员可以对核心应用程序所使用的API框架进行访问。该应用程序的架构设计对组件的重用起到了简化的作用。任何一个应用程序都可以发布它的功能组件并且所有其它的应用程序也都可以运用其发布的功能块组件。同样,这种使用机制也使用户可以比较便捷的替换程序组件。

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

视图(Views),可扩展性好可以用来构建应用程序, 主要包含了网格(Grids),列表(Lists),按钮(Buttons),文本框(Text boxes), 以及可以被嵌入的web浏览器。

内容提供器(Content Providers)使得不同应用程序间的访问和共享应用程序或者它们自己的数据。

资源管理器(Resource Manager)提供了一些比如本地字符串,图形,和布局文件(Layout files )等静态资源的访问。

通知管理器 (Notification Manager) 使应用程序在状态栏当中显示用户自定义的信息。

活动管理器( Activity Manager) 用来管理应用程序的生命周而且还提供了回退功能。

系统运行库

Android 含有一套C/C++的库,这些库可以在android系统的各个组件使用。这些库的功能通过 Android 应用程序框架提供给开发者。下面就是一些核心库:

系统 C 库 :一个从BSD继承来的C系统函数库, 它专门为基于Embedded Linux的嵌入式设备而定制的。

媒体库 :该库支持常用的音频、视频格式回放和录制,也可以支持静态图像文件。编码格式包括MPEG4,H.264, MP3, AAC, AMR,JPG, PNG 。

外观管理器(Surface Manager) - 用于对显示子系统的日常管理,同时为多个应用程序提 供了2D和3D图层的无缝隙融合。

LibWebCore : 一个最新Web浏览器引擎,支持Android浏览器和一个内嵌入的web视图。

Linux内核

Android 运行在Linux kernel之上,Linux driver 与 Linux kernel彻底是分开的,Android依赖于Linux 2.6提供的一系列系统服务,包括安全、存储器管理、程序管

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

理、网络栈和驱动模型等。

1.3 Android应用组件的构建

Android开发由四大组件组成,它们分别是:活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供商(Content provider)。Android应用程序不一定要同时包含这四大组件,很多程序只用到了其中的几个构建块。下面是对四大组建的介绍:

活动(Activity)

Android系统 中,Activity就是所有程序的基础模块,所有程序的流程都运行在Activity 之中,Activity是开发者遇到的最频繁和最基本的模块之一。每个activity都有一个相对应的显示界面。它以类的方式实现,activity对应的显示界面内嵌一组Views控件,所有的应用程序通过这些控件与用户进行交互。Android通过使用Intent类来实现activity的切换。在Android的程序当中,Activity 一般代表的是手机屏幕的一屏。一个形象的比喻是把手机比作一个浏览器,则Activity就等于是网页。在Activity 当中加入一些控件。所以我们可以看到Activity 概念与网页的概念类似。

一般情况下一个Android 应用是由多个Activity 构成的。这多个Activity 之间可以进行相互跳转,一个activity可以切换到新的activity,同样也可以到返回前一个activity。

当每次打开一个新的屏幕时,之前屏幕会被置为暂停状态并进入入历史堆栈中。用户可以通过返回操作返回到上一屏幕。也可以选择性的删除一些用户觉得没有必要保留的屏。Android把每个应用的开始屏幕到当前的每个屏幕都保存在堆栈中。

服务(service)

Service 是android 系统中的一种组件,它与活动()Activity的级别差不多,但是它却不可以自己独立运行,只能在后台运行,并且可以和其他组件进行交互。Service 是无界面的长生命周期的代码。Service是一种程序,可长时间运行但无用户界面。例如在打开音乐播放器的程序是,这个时候用户还想上网了,那么,打开Android浏览器,这个时候虽然已经进入了浏览器这个程序,但是,歌曲播放并不会停止,而是在后台继续播放歌曲。实际上这个播放就是由播放音乐的Service进行控制。当然播放音乐的Service也是可以停止,当播放列表里的音乐都结束了,或者用户按下了停止播放的快捷键等。Service 可以在和多场合的应用中使用,总而言之其服务总是藏在后面的。开启Service有两种方式:Context.startService和Context.bindService。

广播接收器(Broadcast Receiver )

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

在Android 中,Broadcast 用于应用程序之间传输信息的机制。而Broadcast Receiver 对发送出来的Broadcast进行处理的一类组件。可以使用Broadcast Receiver 让应用对外部事件做出响应。例如,面对电话呼入这一外部事件的时候,我们就可以利用Broadcast Receiver 进行处理。但是Broadcast Receiver不能生成原生软件,这对于用户来说是透明的Broadcast Receiver通过Notification Manager 来通知用户这些事情发生了。Broadcast Receiver 不但可以在Android Manifest.xml 中注册,而求还可以在运行时的代码中使用Context.register Receiver()进行注册。一旦注册了,当事件来临的时候,即使程序没有启动,程序也会被系统在需要时启动。所用的应用还可以通过使用Context.send Broadcast 将自己的Intent Broadcasts广播给其余的应用程序。

内容提供(Content Provider )

在Android中,提供了严密的数据保护,除去SD卡的内容,应用的数据库和文件等是不允许直接被访问的。Content Provider 是Android所提供的第三方应用数据访问方案。Android应用程序能够使用文件、SQL数据库等各种存储系统来保存数据。但是,如果想要实现不同应用程序之间的数据共享,这时候就需要用到Content Provider。Content Provider提供了一套标准的访问接口,为其他应用程序对数据的访问和操作提供了便捷。

1.4 平台优势

开放性

开放性是Android平台的一大优势,它允许移动终端厂商和一些android 爱好者加入到Android联盟中来。显著的开放性使其拥有了庞大的的开发者,随着用户和应用的日益丰富,这个平台也走向了成熟。

开发性对于Android的发展积累了不少来自消费者和厂商人气,而对于广大消费者来讲,最大的受益正是丰富的软件资源。同时开放的平台也会带来更大竞争,这就使得消费者可以用更低的价位购得心仪的手机。

丰富的硬件

丰富的硬件与Android平台的开放性息息相关,由于Android的开放性,众多的厂商会推出各种各样的电子产品。虽然在功能上有差异也各有特色,但却不会影响数据的同步、甚至在软件的兼容上也表现的很好。这对消费者而言是莫大的福音。

方便开发

Android平台提供给第三方开发商一个自由的开发环境,不会受到各种条条框框的阻扰,所以现在可以在android应用上看到看式各样的,可以实现各种功能的软件。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

但是血腥、暴力、情色方面的程序和游戏的控制又留给Android人带来了新的难题。

Google应用

在互联网的Google已经走过10年,从搜索巨人到全面的移动互联网渗透,Google所提供的服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,android手机平台可以无缝的利用这些现有的资源,打造出新的应用,服务于大众,改变着我们的生活。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

2 Basic4Android和GPS

Basic4android 是一个简单但功能强大的Android应用开发环境。Basic4android 语言跟 Visual Basic 予以类似,支持更多的对象。Basic4android 将代码编译成 Android 原生应用,无需其他运行环境的支持。该工具完全为了 Android 应用开发,不支持其他平台。它是一款简单IDE和程序语言 100% 专注 Android 开发编译为原生 bytecode. 不需要运行库.生成的 APK 文件与with Java / Eclipse生成的文件完全一样与Java 写的应用性能相同,与Visual Basic类似的事件驱动开发语言,支持对象和代码模块,不需要写任何 XML 文件,通过支持定制Java 库提高扩展性,Android上唯一的真正 WYSIWYG 可视化编辑器. 可视化编辑器支持多屏幕和各种分辨率,支持Android 1.6 到 4.0版本的所有的电话和平板,支持自动完成,内置文档,内部索引的现代IDE 新! 和其他高级功能,强大的单步调试器,具有可定制在线和离线查询功能的海量文档,支持所有的Android 核心特性:包括加密数据库的SQL 数据库,GPS,主屏 widgets 和活动墙纸,后台服务和广播侦听器,蓝牙(串口),电话功能: 拨打电话, 短信, 通讯录, 来电记录和其它,Web 服务,多点触摸和手势。

2.1 Basic4android

安装Android SDK和Basic4android

“工欲善其事,必先利其器”。要使用Basic4android开发Android原生应用,就需要先安装它。下面是Basic4android的安装步骤。

安装Basic4android之前,需要先安装以下两个组件:

Java JDK

Android SDK

安装方法:

第一步,安装Java JDK。

在Java JDK下载页面下载JDK(Java SE即可),然后安装到自定义的目录下,例如,安装到D:\Java目录下。

第二步,安装Android SDK及相应的工具,如下图2-1所示。

在这一步中应安装Android平台工具及至少一个版本的Android。可以使用API 8及以上版本,推荐使用API 8。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

如果需要用USB直接连接到物理设备上,也可以安装Google USB设备驱动程序。

图 2-1 安装图

安装和配置Basic4android

打开Basic4android,执行“Tools”菜单下的“Configure Paths”命令,弹出路径配置对话框,如图 2-2所示。

图 2-2 路径设置

在此对话框中配置javac.exe和android.jar的安装路径,以及附加的Basic4android库。

安装Android模拟器

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

运行Basic4android,执行“Tools”菜单下的“Run AVD Manager”命令,稍等片刻,将出现SDK管理器窗口,如图2-3所示。

图 2-3 SDK管理器窗口

执行2.3窗口中“Tools”菜单下的“Manage AVDs...”命令,将出现AVD(Android virtual device)管理器窗口,如图2-4所示。

图 2-4 AVD管理器窗口

点击“New”按钮,出现创建新的AVD对话框。在该对话框中填写相应内容,如图2-5所示。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

图 2-5 AVD管理窗口设置

点击“Creat AVD”按钮,将会创建一个新的AVD,如图2-6所示。

图 2-6 新建AVD窗口

点击图2-6中的“Start”按钮,经过几个窗口闪烁之后,将出现模拟器启动窗口,如图2-7所示。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

图 2-7 模拟启动窗口

等待几分钟,以便模拟器准备就绪。完全启动后的模拟器如图2-8所示。

图 2-8 模拟器

锁屏情况下的模拟器如图2-9所示。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

图 2-9 锁屏下的模拟器

向右拽动“锁”,即可解锁屏幕。

2.2 在Basic4android开发环境编写程序过程

以下就以“你好 Android ”的编写为一个简单的例子,战士程序的编写。首先运行Basic4android,例如F:\Develop\Android\First\MyFirst.b4a。执行“Tools”菜单下的“Run AVD Manager”命令,打开Android 虚拟设备管理器。选择所创建的模拟器,然后点击“Start”按钮,启动模拟器,首次运行模拟器,将需要几分钟的等待时间。执行“Designer”命令,运行设计器,执行设计器中“Tools”菜单下的“Connect To device / Emulator”命令,将设计器连接到模拟器。当连接成功后,设计器的状态指示将变为“Connected”,模拟器外模拟器上放置一个标签和一个按钮,方法如下:

执行设计器“Add View”菜单下的“Label”命令,向模拟器加一个标签,修改其属性如下:Name='LbHello',Text.Color=HotPink,其它属性采用默认值。执行设计器“Add View”菜单下的“Button”命令,向模拟器加一个按钮,修改其属性如下:Name='BtnHello',Text='你好',textWidth=100,Height=40,其它属性默认。

执行设计器“File”菜单下的“Save as”命令,保存所设计的层文件,如“MyFirst”。

下面让Basic4android自动产生成员变量声明。方法如下:

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

执行设计器“Tools”菜单下的“Generate members”命令,出现“Generate members”对话框,然后点击“Generate member”按钮,产生变量声明和子函数框架代码,然后点击“Close”按钮,关闭对话框。

现在,我们回到Basic4android IDE,完成代码编写。

首先,我们需要在Activity_Create函数中调用我们之前所设计的层文件。键入Activity和一个小点,代码专家将显示所有可用的属性或函数。选择“LoadLayout”,然后按回车键,键入“(”,出现参数提示,键入“"MyFirst")”,完成该子函数代码编写。

接着,我们需要在BtnHello_Click函数中加入一些代码,以便点击“你好”按钮后,标签显示为“你好,Android”。键入LbHello和一个小点,选择“Text”,按回车键,键入代码“="你好,Android!"”,完成该子函数代码编写。

完成以后让我们编译程序,然后在模拟器中执行。

在IDE的工具栏中点击向右的小三角按钮,编译并运行程序。

由于我们还没有设置包名,因此,IDE将出现提示框。

在随后出现的对话框中,设置Label为“MyFirstProgram”。点击“Ok”按钮,程序开始进行编译。当出现“Completed successfully”,说明编译成功完成,点击“Close”按钮,关闭对话框。

现在让我们重新回到模拟器界面。点击“你好”按钮,LbHello显示“你好,Android !”,

2.3 GPS

GPS全球卫星定位系统,GPS可以提供定位、导航和测距等功能。GPS导航系统是以全球24颗定位人造卫星为基础,其中21颗星为工作星三颗为备用星。向全球各地全天候地提供三维位置、三维速度等信息的一种无线电导航定位系统。它由三部分构成,一是地面控制部分,由主控站、地面天线、监测站及通讯辅助系统组成。二是空间部分,由24颗卫星组成,分布在6个轨道平面。三是用户装置部分,由GPS接收机和卫星天线组成。现在民用的定位精度可达10米内。GPS的绝对定位是以地球质心为参考点,GPS绝对定位,根据用户接收机所处的运动状态不同,又可分为动态绝对定位和静态绝对定位。当用户接收机安置在运动的载体上,确定载体瞬时绝对位置的定位方法,称为动态绝对定位。动态绝对定位,一般只能得到没有多余观测量

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

的实时解,因此定位精度不高。这种定位方法被广泛应用于飞机、船舶以及陆地车辆等运动载体的导航中。当接收机处于静止状态时,来确定观测点绝对坐标的方法,称为静态绝对定位。这时,由于可以连续地测定卫星至观测站的伪距,所以可获得充分的多余观测量,这有利于提高定位的精度。静态绝对定位方法主要用于大地测量、工程测绘等领域,以精确测定观测点在大地坐标系中的绝对坐标。目前,无论是动态绝对定位还是静态绝对定位,所依据的观测量都是所测卫星与观测站的伪距,所以通常也称为伪距定位法。绝对定位模式只需一台接收机既可实现独立定位,外业观测的组织及实施较为方便,数据处理也较为简单,此种定位模式被许多GPS设备所选用。

GPS模块接收到卫星信号并成功解算出经纬度等位置信息后,需要传送给主机进一步处理和计算,为了确保数据的有效传输,必须制定相应的标准或协议。一般所具有的数据格式可以根据应用的需要,通过GPS模块自带的软件进行设定。

2.4 Android定位的服务类库

Android平台提供了一个专门的位置功能类库来支持基于定位服务的应用程序开发。android.10cation包含了一套与定位相关的类,它们分别是位置类(Location)、定位管理类(LocationMananger)、位置提供者(LocationProvider)、定位监听类(LocationListener)、位置数据标准类(Criteria)。

位置类Location用来代表程序中需要定位的某个位置,该位置包含了经纬度、标准时间、海拔、测量点的移动速度、方位角等内容。经度和纬度是最常用的位置参数,Location中的经纬度有三种常规格式。

Location可使用的方法有:

-String convert(double coordinate,int outputType)一可以把浮点型的经纬度

值转化为三种常规格式中的任意一种,其中outputType用来指定格式的类型。 常用的格式类型是一下三种

一double getLatitude()一获取该位置的纬度值,并把结果以浮点形式表示。

_double getLongitude()一获取该位置的经度值,并把结果以浮点形式表示。 _double getAltitude()一获取该位置的海拔值,并把结果以浮点形式表示。

_double getSpeed()一获取定位时的移动速度,并把结果以浮点形式表示。

定位管理类(LocationManager)是最重要的一个类,应用程序通过它来使用系统提供的定位服务,以实时获取设备的位置信息。位置提供者(LocationProvider)用于对位

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

置信息的存放和及时更新位置信息。定位监听类(LocationListener)用于时刻监听位置的变化情况并实时对位置进行更新。位置数据标准类(Criteria)为应用程序选择LocationProvider提供标准。常用有以下两种:1: ooleanisAltitudeRequired()一用来判断某个LocationProvider提供的位置数据是否包含高度值。2: booleanisBearingRequired()一用来判断某个LocationProvider提供的位置数据是否包含方位角。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

3 系统设计框架

本文的目标是要对手机终端用户所在地点进行定位,在地图上显示用户当前所在的地理位置,并且显示出此时的经纬度和海拔,以及用户的移动速度。在导航的需求上对用户当前的位置和目的地。在沿途的路径上先采集点并保存。一系列的点后可以形成一条路径。并用其它颜色的线显示出来,实现导航。其实本课题所做的导航其实还是定位的一点改动。限于本人水平并不能实现智能导航。

3.1 系统的功能设计

本文所设计的系统功能包括:对用户当前位置的定位、搜索到当前可用的卫星数目、路径上标记点的保存、标记点的管理、路径以地图的显示,功能选择。如图3-1所示。

图 3-1 系统功能

用户当前位置的定位:利用手机内置GPS,还有Basic4Android所提供的Google地图与GPS的库的调用在屏幕上显示用户当前所在位置并在地图上标注,还可以显示出当前的经纬度,海拔高度,以及用户的当前移动速度。

导航功能:首先是实现在选取路径上的标记点,并对标记点进行保存,根据储存的标记点进行路径选择(比如在选取点当中可以把每个点的间隔在5m)对标记的点选择好了以后,保存到gpp格式的文件中,然后就可以在地图上显示标记的点,并进行连接,得到导航路径。

功能选择:在这一模块中用户可以对地图类型进行选择Google提供了街道图、卫星图、地形图等,还有显示界面地图初始化的大小,以及是否在显示地图界面出现当前的经纬度,海拔等信息。用户不选择则以默认的初始界面开始应用。

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

3.2 用户界面的设计

用户界面显示是Android可视化界面的最好反映,在本次设计了六个操作界面实现用户和系统的交互,它们分别是主操作界面、卫星、GPS、地图、路径和设定。

主操作界面

主操作界面使用户进入应用软件后的的一个用户界面,该界面包含了 卫星、GPS、地图、路径、和设定五大菜单选项。用户可以通过相应的选项来执行相应的应用功能。系统的主要界面图如图3-2所示:

图 3-2 系统操作界面

随着android的普及,和人们对GPS的使用,两者的结合显得尤为重要。在android平台上开发GPS应用

卫星操作界面

未向操作界面打开后向用户展示了当前手机的内置GPS所搜索到当前可服务卫星的数目,包括卫星和用户所在地的方向角,经纬度的一些参数,给定位和导航提供了根本的保障。

GPS操作界面

GPS操作界面进入后在用户没有开启GPS设备的情况下会向用户提示是否打开GPS设备,在用户闲置的情况下提供了用户关闭GPS设备的设置。在用户需要对地图上做标记的点进行路径的保存时,GPS操作界面也想用户提供了保存GPS路径点的功能,给导航实现提供保障。

地图操作界面

地图操作界面是本次设计的一个很重要的界面,也是最能够反映本次设计的结果的界面。在这个界面可以显示用户根据需求自己选择后的地图类型,并更具GPS实时更新。在此也可以显示出用户所保存过的路径所对应的当时地图。本次的核心界面就是地图的显示。地图是根据Google为用户所提供的Google地图,在Basic4Android中有专门的Google地图类库,用户只是需要对地图的类库进行调用即可。

路径操作界面

路径操作界面是为导航的实现专门设计的,在路径这个界面,用户可以点击进入子界面在里面有显示当前用户所保存的路径上的标记点,并且对标记点进行删除,保存等操作。在这个操作界面还给用户提供了在地图上显示路径是,是否也在地图上将所保存的有效路径点一次的在地图上显示出来,或是只显示所需要的路径而不用显示出所标记的有效点。

设定操作界面

这个操作界面的是为了给用户提供更大的自由度。用户在使用该应用软件的时候可以根据用户自己的需求对地图显示界面地图的大小提供选择。用户还可以根据自己的当时需求选择地图的类型,在这有街道地图、卫星图、地形图和混合地图供用户自己选择。还可以自主选择是否在地图的显示界面显示当前用户的经纬度,海拔高度,移动速度等信息。对路径的显示也可以在此界面选择。

本文来源:https://www.bwwdw.com/article/db1j.html

Top