预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、引言在当今社会,手机已经成为人们日常生活中不可或缺的工具,以用户体验为核心诉求的HYPERLINK"http://www.chinaaet.com/search/?q=智能手机"\o"智能手机"智能手机,使手机由单一的通信终端发展成为互联网终端。越来越多的互联网应用被移植到智能手机中来,HYPERLINK"http://www.chinaaet.com/search/?q=导航"\o"导航"导航软件在智能手机中的应用成为了研究热点之一。在目前大部分智能手机都提供HYPERLINK"http://www.chinaaet.com/search/?q=GPS"\o"GPS"GPS定位服务以及3G无线网络越来越普及的双重驱动下,在Google地图中实现导航服务,是具有可行性的。本文提出并实现了一种基于GoogleMapApi的HYPERLINK"http://www.chinaaet.com/search/?q=Android"\o"Android"Android导航应用,能够给用户提供人性化和智能化的地图导航服务。二、系统体系结构图1系统体系结构三、UI界面设计Android应用程序的基本功能单元就是AcTIvity类中的一个对象,Activity主要功能为界面显示和事件处理。在Activity中使用View和ViewGroup控件配XML样式来进行界面设计,使用事件处理进行人机交互,主要的事件处理为按钮事件、触屏事件以及一些高级控件的事件监听。通过设置控件与事件处理就形成了UI界面。1、GPS定位信息的显示通过textView控件显示定位信息。在程序打开时就显示目前用户的具体位置和邮编,门牌号等相关信息,若GPS定位不成功或者出错,则显示“无法获取目前地址”。2、用户输入导航起始地点通过设置EditView控件,用户能在改控件中输入自己需要导航的起始地点,通过设置名为“导航”的ButtON控件对输入信息进行提交,当监听到Button按钮OnClick时则分析起始地址,若起始地址都能被解析,则载入导航地图,若又一个地址解析失败,则通过对话框控件Dialog提示用户“输入地址错误,请重新输入”。3、导航界面设计在导航界面中设置WebView控件,WebView控件通过与javascript互相调用,把起始地址等信息传递给服务器中的HTML导航网页。网页获得地址等信息后进行导航并通过WebView控件显示在应用程序导航界面中。4、语音功能界面设计在导航界面中设置名为语音导航的Button控件,当用户按住该按钮时就为用户提供语音导航服务。下图为定位与输入地址信息UI界面:图2定位与输入地址信息UI界面四、GPS定位功能实现全球卫星定位系统(GlobalPositioningSystem,GPS)是一个中距离圆型轨道卫星导航系统,它可以为地球表面超98%的地区提供准确的定位、测速和高精度的时间标准服务,在各个领域都有广泛的应用。Android支持GPS服务的API.该服务可以用来获取当前设备的地理位置,应用程序通过该API获得地理位置,并可以定时请求更新当前设备的地理定位信息。该系统将用到GPSAPI中包几个重要的功能类:LocATIonManager,用于管理Android用户定位服务;LocationProvider,提供多种定位方式供开发者选择;Criteria,是应用通过LocationProvider中设置的属性来选择合适的定位提供者。获取用户当前位置的步骤如下:1、在AndroidManifeST.xml中声明相应的权限:<android:name="“android.permission.ACCESS_COARSE_LOCATION”"permission>2、获取LocationManager对象:LocationManagerlocationManager=(LocationManager)getSystemSERvice(Context.LOCATION_SERVICE);3、设置Criteria对象:Criteriacriteria=newCriteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);criteria.setAltitudeRequired(false);criteria.setBearingRequired(false);criteria.setCostAllowed(false);criteria.setPowerRequirement(Criteria.POWER_LOW);4、设置Provider:Stringprovider=locationManager.getBestProvider(criteria,true