位置服务与地图应用.ppt_第1页
位置服务与地图应用.ppt_第2页
位置服务与地图应用.ppt_第3页
位置服务与地图应用.ppt_第4页
位置服务与地图应用.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,位置服务与地图应用,2,学习目标:,了解位置服务的概念了解地图密钥的申请方法掌握获取位置信息的方法,3,1位置服务,位置服务位置服务(Location-BasedServices,LBS)又称定位服务或基于位置的服务融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务位置服务首先在日本得到商业化的应用2001年7月,DoCoMo发布了第一款具有三角定位功能的手持设备2001年12月,KDDI发布第一款具有GPS功能的手机涉及商务、医疗、工作和生活的各个方面,4,1位置服务,位置服务Android平台支持提供位置服务的API,在开发过程中主要用到LocationManager和LocationProviders对象LocationProviders是提供定位功能的组件集合获取LocationManager可以通过调用android.app.Activity.getSystemService()函数获取,代码如下StringserviceString=Context.LOCATION_SERVICE;LocationManagerLocationManager=(LocationManager)getSystemService(serviceString);Context.LOCATION_SERVICE指明获取的是位置服务getSystemService()函数,根据服务名称获取Android提供的服务,5,1位置服务,位置服务指定LocationManager的定位方法后调用LocationManager.getLastKnowLocation()方法获取当前位置目前LocationManager中主要有两种定位方法GPS定位:精确但定位速度和质量受卫星数量和环境影响网络定位:精度差,但速度较GPS定位要迅速,6,1位置服务,位置服务LocationManager支持定位方法,7,1位置服务,位置服务使用GPS定位获取位置信息的代码如下Stringprovider=LocationManager.GPS_PROVIDER;Locationlocation=locationManager.getLastKnownLocation(provider);Location对象包含了可以确定位置的信息,如经度、纬度和速度等通过调用Location中的getLatitude()和getLonggitude()方法可以分别获取位置信息中的纬度和经度:1doublelat=location.getLatitude();2doublelng=location.getLongitude();,8,1位置服务,位置服务为了使GPS定位功能生效,还需要在AndroidManifest.xml文件中加入用户许可实现代码如下,9,2Google地图应用,2.1申请地图密钥使用Google提供的地图服务,实现地理信息可视化开发使用MapView(com.google.android.maps.MapView)将Google地图嵌入到Android应用程序中使用MapView进行开发前须向Google申请经过验证的“地图密钥”(MapAPIKey)“地图密钥”是访问Google地图数据的密钥,无论是模拟器还是在真实设备中需要使用这个密钥,10,2Google地图应用,2.1申请地图密钥使用Google账户,即Gmail电子邮箱注册“地图密钥”找到保存Debug证书的keystore的保存位置,并获取证书的MD5散列值keystore是一个密码保护文件,存储Android的证书,11,2Google地图应用,2.1申请地图密钥获取证书的保存地址的方法:首先打开Eclipse,通过WindowPreferences打开配置窗体,在AndroidBuild栏中的Defaultdebugkeystore中可以找到,12,2Google地图应用,2.1申请地图密钥获取Debug证书MD5散列值,需在命令行环境下切换到keystore的目录,输入如下命令keytool-list-v-keystoredebug.keystoreKeytool是JDK提供的工具,如果提示无法找到keytool,可以将/bin的路径添加到系统的PATH变量中,13,2Google地图应用,2.1申请地图密钥在提示输入keystore密码时,输入密码android,或直接输入回车,MD5、SHA1和SHA256散列值将都显示出来。如下图所示,14,2Google地图应用,2.1申请地图密钥申请“地图密钥”的最后一步是打开申请页面,输入SHA1散列值申请页面的地址是,15,2Google地图应用,2.1申请地图密钥获取MapAPIKey页面,16,2Google地图应用,2.1申请地图密钥输入MD5散列值后,点击GenerateAPIKey按钮,将提示用户输入Google账户,正确输入后账户后,将生产申请“地图密钥”的获取结果,如下图所示,17,2Google地图应用,2.2使用Google地图MapView是地图的显示控件,可以设置不同的显示模式,例如卫星模式、街道模式或交通模式MapController是MapView的控制器,可以控制MapView的显示中心和缩放级别等功能建立工程时需将com.google.android.maps扩展库添加到工程中,这样就可以使用Google地图的所有功能添加com.google.android.maps扩展库的方式是在创建工程时,在BuildTarget项中选择GoogleAPIs,18,2Google地图应用,2.2使用Google地图引入Google地图扩展库(图),19,2Google地图应用,2.2使用Google地图程序运行时需要连接互联网,运行结果如下图所示地图模式卫星模式,20,AndroidNDK开发,21,学习目标:,了解AndroidNDK的用途和不足了解AndroidNDK编译环境的安装与配置方法了解AndroidNDK的开发步骤,22,1NDK简介,AndroidNDKAndroidNDK(AndroidNativeDevelopmentKit)是一系列的开发工具,允许程序开发人员在Android应用程序中嵌入C或C+语言编写的本地代码AndroidNDK优势解决了核心模块使用托管语言开发执行效率低下的问题允许直接使用C/C+源代码,极大的提高了Android应用程序开发的灵活性AndroidNDK不足AndroidNDK不会提升所有Android程序的执行效率,但一定会增加程序的复杂程度和调试难度,23,1NDK简介,AndroidNDK程序开发人员需要仔细权衡AndroidNDK所能提升的运行效率与增加的复杂程度是否在可接受的范围内。选择使用AndroidNDK应主要出于以下两种目的一是Android应用程序框架无法满足运行效率时二是需要使用大量已有C/C+源代码,24,1NDK简介,AndroidNDKAndroidNDK提供一系列的工具、编译文件、文档和示例代码,用于从C/C+源代码中生产本地代码库,还提供了将本地代码库嵌入到apk文件的方法AndroidNDK所包含的大量本地系统头文件和库文件,主要是用来支持未来版本的Android系统AndroidNDK所支持的最低版本的Android系统是1.5版本,如果使用本地Activity则所需要的最低Android系统版本为2.3版本,25,1NDK简介,AndroidNDK最新版本的AndroidNDK支持ARM指令集,包括ARMv5TE、ARMv7-A和x86ARMv5TE机器码可以在所有基于ARM的Android设备上使用,ARMv7-A机器码则只能运行在具有ARM7CPU的Android设备上,如VerizonDroid手机和GoogleNexusOne手机ARMv7-A与ARMv5TE指令集的差别主要在于,ARMv7-A支持硬件FPU(浮点运算单元)、Thumb-2和NEON指令集程序开发人员可以针对不同目标设备,在AndroidNDK中使用不同的ARM指令集支持不同的架构,也可以同时将支持多个架构的指令集编译到同一个apk文件中,26,2NDK开发环境,NDK开发环境包括Eclipse、AndroidNDK和CygwinEclipse建立Android工程和编写程序代码AndroidNDK提供编译脚本和工具Cygwin完成Linux环境下的交叉编译,将C/C+的源代码文件编译成Android系统可调用的共享连接库文件,27,2NDK开发环境,AndroidNDK编译环境支持WindowsXP、Linux和MacOSWindows系统的编译环境配置方法下载AndroidNDK的安装包下载并安装Cygwin,28,2NDK开发环境,下载AndroidNDK的安装包Google的Android开发者网站下载AndroidNDK的安装包,下载地址是,29,2NDK开发环境,下载并安装CygwinAndroidNDK目前还不支持在Windows系统下直接进行交叉编译,需安装Linux模拟器环境Cygwin,完成C/C+代码的交叉编译工作AndroidNDK要求Cygwin的版本高于1.7,因此最好安装较新版本的CygwinCygwin的最新版本可以到官方网站下载,30,2NDK开发环境,下载并安装Cygwin在Cygwin的安装过程中,需要将Devel下的gcc和make的相关选项选上,如下图所示,否则Cygwin将无法编译C/C+源代码文件,31,3NDK文档和示例,AndroidNDK的目录结构在介绍NDK开发前,首先熟悉一下AndroidNDK为程序开发人员提供的资料和示例。AndroidNDK的目录中包含7个子目录和7个文件build目录保存了编译脚本和配置文件docs目录是帮助文档目录platforms是保存了编译过程中可能用到的头文件和库文件,并根据Android版本和CPU类型进行了分类,32,3NDK文档和示例,AndroidNDK的目录结构sources目录中保留了程序中可能用到的C/C+源代码文件,CPU类型检查和本地Activity的C/C+源代码文件就在这个目录中tests是测试代码目录toolchains是交叉编译工具目录documentation.html是帮助文档的起始页,可以通过该文件快速浏览docs目录中的所有帮助文档,33,3NDK文档和示例,AndroidNDK的目录结构GNUmakefile编译配置文件ndk-build是交叉编译的快捷脚本ndk-gdb用于Debug调试的脚本README.txt和RELEASE.txt分别是AndroidNDK的说明文档和版本信息,34,3NDK文档和示例,AndroidNDK的目录结构GNUmakefi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论