MapGISMobileforAndroidSDK开发指引1简介2配置开发环境
- 格式:pdf
- 大小:2.51 MB
- 文档页数:35
AndroidGIS开发系列--⼊门季(1)起点前⾔这个系列,待最终完成更新,⼤家体谅点,第⼀版本全部是参考的⽹络教程,最近会逐步的细化更新为可以直接使⽤的情况。
本系列的开发基于AS ( Android Studio ), 和ArcGIS 的Android开发的API。
配置开发⾸先要下载Arcgis SDK。
下载地址在Arcgis官⽹,不过下载要注册,⽐较⿇烦。
可以从,下载jar包与so⽂件。
学习采⽤的版本是Arcgis SdK 10.2.4。
下载jar与so后,进⼊正题,新启项⽬Arcgis Demo。
1.添加so与jar2.⼯程的Mainfest⽂件中添加相应的权限:<uses-featureandroid:glEsVersion="0x00020000"android:required="true" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />3.build.gradle⽂件下的android节点加上如下配置:解决jackson-mapper-lgpl-1.9.5.jar与jackson-core-lgpl-1.9.5.jar⽆法编译问题packagingOptions {exclude 'META-INF/LGPL2.1'exclude 'META-INF/LICENSE'exclude 'META-INF/NOTICE'}在MainActivity的布局中添加MapView控件,并加上id.<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.arcgis.test.MainActivity"><com.esri.android.map.MapViewandroid:id="@+id/map_view"android:layout_width="match_parent"android:layout_height="match_parent" /></RelativeLayout>在MainActivity中获取控件,并添加⼀个开放的⽹络图层。
描述配置sdk的步骤配置SDK的步骤随着移动应用的发展,SDK(软件开发工具包)成为了开发者不可或缺的工具。
通过集成SDK,开发者可以快速实现各种功能,提升应用的体验和功能性。
下面将介绍配置SDK的步骤,帮助开发者更好地集成SDK。
1. 确定需要集成的SDK在开始配置SDK之前,首先需要明确自己需要集成的SDK是什么。
可以根据应用的需求,选择合适的SDK。
常见的SDK包括地图SDK、支付SDK、广告SDK等。
2. 下载SDK文件一旦确定了需要集成的SDK,就可以去官方网站或开发者平台下载相应的SDK文件。
通常SDK文件会以压缩包的形式提供,下载后需要解压缩。
3. 创建工程项目在下载SDK文件的同时,需要在开发环境中创建一个新的工程项目。
根据开发环境的不同,可以选择Android Studio、Xcode等工具进行创建。
4. 导入SDK文件打开创建的工程项目,在工程目录下找到SDK文件夹,将解压缩后的SDK文件复制到该目录下。
然后在开发环境中选择导入SDK文件,确保文件能够被工程项目识别和调用。
5. 配置SDK依赖为了能够正常使用SDK的功能,还需要配置SDK的依赖关系。
在开发环境中打开工程项目的配置文件(如Android中的build.gradle 文件),添加SDK的依赖项。
6. 配置权限和配置文件某些SDK需要在应用中添加一些权限,以便正常运行。
开发者需要在工程项目的配置文件中添加相应的权限声明,确保应用在运行时能够获取到所需的权限。
此外,一些SDK还需要在工程目录下添加配置文件,用于存储一些关键信息,如应用ID、密钥等。
7. 初始化SDK在应用启动时,需要对SDK进行初始化操作。
开发者可以在应用的入口文件中调用SDK的初始化方法,并传入必要的参数进行初始化。
这样可以确保在应用运行时,SDK已经准备好并能够正常使用。
8. 集成SDK功能一旦SDK成功配置和初始化,就可以开始集成SDK的功能。
SDK使用说明范文一、SDK简介SDK(Software Development Kit,软件开发工具包)是一组开发工具和资源的集合,用于帮助开发者创建应用程序。
SDK提供了开发所需的应用程序接口(API)、示例代码、文档等。
SDK可以大大简化开发过程,提高开发效率。
二、SDK的安装和配置2.配置开发环境需要根据开发环境配置SDK。
例如,在Windows上,需要在系统环境变量中设置SDK的路径。
三、SDK的导入在开发工具中导入SDK,可以使用SDK提供的API进行开发。
1.创建新项目打开开发工具,创建一个新项目。
2.导入SDK在项目中添加SDK,可以通过添加依赖库或引入外部库的方式导入。
四、SDK的使用SDK提供了各种功能的API供开发者使用。
以下是一些常见的SDK使用方法。
1.初始化SDK在应用程序的入口处,调用SDK提供的初始化方法,完成SDK的初始化。
可以根据需要进行必要的配置。
2.登录与认证在用户登录模块中,调用SDK提供的登录与认证API,实现用户的身份认证与管理。
3.数据获取与处理使用SDK提供的API,获取所需的数据。
可以进行数据解析、处理与展示等。
4.事件与回调SDK通常提供事件与回调机制,用于处理异步操作或接收SDK返回的数据。
需要注册相应的事件监听器或回调函数。
5.功能扩展与定制SDK通常提供了一些扩展和定制功能的接口,开发者可以根据需要,自定义SDK的功能与行为。
五、SDK的调试与测试在开发过程中,调试和测试是不可或缺的环节。
1.调试开发者可以使用开发工具提供的调试功能,结合SDK的调试日志,来定位和解决开发中的问题。
2.测试开发者可以编写单元测试或集成测试,来验证SDK的使用是否符合预期,并检查各种边际情况下的功能表现。
六、SDK的更新与升级随着软件的发展和需求变化,SDK也需要进行更新和升级。
一般来说,开发者可以通过以下方式更新SDK:1.官方渠道更新开发者可以定期查看官方网站、论坛或邮件列表,了解最新版本的SDK发布信息。
MapGIS Android开发之地图显示本篇文章详细介绍MapGIS Android最基本的开发——地图显示,最终结果是在手机上显示地图。
一、离线地图数据准备1、制作数据打开MapGIS10软件,随便画一个图层,或者打开示例数据库里的一个图层。
本次演示数据为软件自带的示例数据库sample——空间数据——要素数据集——地图综合——简单要素类——水系这个区图层,如下图:点击菜单栏文件——另存为,把文档保存成水系.mapx。
2、数据转换下载并解压手机离线地图转换工具.zip,打开文件夹,把里面4个文件全部复制,并粘贴至MapGIS10安装目录下的program文件夹里。
在program文件夹下找到Mobile_dataTool.exe,双击打开:选择刚刚保存的水系.mapx,选取好转换后数据的存放路径,点击确定按钮:转换成功后,就会在保存路径下出现名为水系的文件夹。
新建一个文件夹,命名为MapGIS,把MapGIS10安装目录下的Slib和Clib文件夹拷贝至MapGIS文件夹下,这两个是数据的系统库文件。
在MapGIS文件下新建一个文件夹map,把之前生成的水系文件夹放进map文件夹里。
至此,数据准备工作全部结束。
二、手机连接电脑,拷贝数据将装有Android操作系统的手机连接至电脑,打开手机中设置——开发人员选项——USB调试,可以利用常用的手机助手软件帮助连接,详细教程网上搜索。
将之前准备好的MapGIS文件夹拷贝至手机内存的根目录下,建议放在内置内存中。
三、新建工程,编写代码,调试双击eclipse文件夹下的eclipse.exe,选择一个工作空间存放路径,打开主界面。
点击菜单栏,Flie——New——Project,选择Android Application for MapGIS。
给这个工程命名,点击Finish,等待一会,工程新建完毕。
打开工程下的src————MainActivity.java程序,如下图:在“mMapView=(MapView)findViewById(R.id.mapView);//get MapView”这段代码下,写下“mMapView.loadFromFile("/sdcard/mapgis/map/水系/水系.xml");”这段代码,括号里为存储卡中地图数据的路径。
Android SDK 开发环境搭建一、安装JDK:1、要求JDK1.5+,建议JDK6.X(1)、下载网址/javase/downloads/index.jsp(2)、从公司共享中拷贝:ftp://192.168.10.29/3.Software/Android/2、JDK安装方法:全部根据默认点击下一步或确定即可完成。
3、设置环境变量:(1)、回到电脑桌面,单击鼠标右键,选择“属性”:(2)、选择“高级”,点击“环境变量”:(3)、单击系统变量(s)下的“Path”,点击编辑,复制jdk路径(默认为C:\Program Files\Java\jdk1.6.0_20\bin)粘贴在最后:二、打开eclipse开发环境安装ADT插件1、打开之后,点击help->install new softwore2、进入之后点击add,在location中输入/android/eclipse,点击OK,等待一段时间(处于联网状态):3、联网完成之后出现下图,选中Developer Tools后点击next,一路点击next等待下载并安装,安装完成后会要求重新启动eclipse 点击Ok重启4、重启之后点击window->preference,进入下图:点击”Android”,单击”Browse…”,选择SDk的安装路径,点击OK完成:三、建立AVD:1、点击window->preference->Android SDK and AVD Manager.2、点击右侧New建立android2.1版AVD,点击Create AVD确定3、打开AVD 选中AVD2.1点击右侧start:四、建立第一个Android工程:1、单击“file”-> “new” -> “project…”:2、选择“Android project ”–> “next”:3、填写下图红色框之内的信息,点击确定即可创建成功:。
Android开发中高德地图SDK的集成在Android开发中,地图是一个非常常见的功能需求。
而对于开发者来说,集成一款稳定、功能丰富的地图SDK是一个必备技能。
而高德地图SDK就是众多地图SDK中的佼佼者,它提供了强大的地图展示和地图操作功能,同时还有路线规划、POI搜索等功能。
本文将详细介绍如何将高德地图SDK集成到Android应用中,以及一些常用的功能展示。
一、高德地图SDK的引入要在Android应用中使用高德地图,首先需要在项目中引入高德地图SDK。
可以通过在项目的build.gradle文件中添加依赖:```groovydependencies {implementation 'com.amap.api:3dmap:latest_version'}```其中,latest_version需要替换为最新的高德地图SDK版本号。
添加完依赖后,还需要在AndroidManifest.xml文件中添加必要的权限:```xml<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" /> ```二、地图展示在将高德地图SDK集成到项目中后,就可以开始进行地图的展示了。
AndroidSDK⽬录具体结构及Android源码的具体结构Android SDK⽬录具体结构1. add-ons:这⾥⾯保存着附加库,⽐如Google Maps,当然你如果安装了OphoneSDK,这⾥也会有⼀些类库在⾥⾯。
2. docs:这⾥⾯是Android SDK API参考⽂档,所有的API都可以在这⾥查到。
3. market_licensing:作为AndroidMarket版权保护组件,⼀般发布付费应⽤到电⼦市场可以⽤它来反盗版。
4. platforms:是每个平台的SDK真正的⽂件,⾥⾯会根据API Level划分的SDK版本,这⾥就以Android 2.2来说,进⼊后有⼀个android-8的⽂件夹,android-8进⼊后是Android 2.2 SDK的主要⽂件,其中ant为ant编译脚本,data保存着⼀些系统资源,images是模拟器映像⽂件,skins则是Android模拟器的⽪肤,templates是⼯程创建的默认模板,android.jar则是该版本的主要framework⽂件,tools⽬录⾥⾯包含了重要的编译⼯具,⽐如aapt、aidl、逆向调试⼯具dexdump和编译脚本dx。
5. platform-tools:保存着⼀些通⽤⼯具,⽐如adb、和aapt、aidl、dx等⽂件,这⾥和platforms⽬录中tools⽂件夹有些重复,主要是从android 2.3开始这些⼯具被划分为通⽤了。
6. samples:是Android SDK⾃带的默认⽰例⼯程,⾥⾯的apidemos强烈推荐初学者运⾏学习,对于SQLite数据库操作可以查看NotePad这个例⼦,对于游戏开发Snake、LunarLander都是不错的例⼦,对于Android主题开发Home则是android m5时代的主题设计原理。
7. tools:作为SDK根⽬录下的tools⽂件夹,这⾥包含了重要的⼯具,⽐如ddms⽤于启动Android调试⼯具,⽐如logcat、屏=幕截图和⽂件管理器,⽽draw9patch则是绘制android平台的可缩放png图⽚的⼯具,sqlite3可以在PC上操作SQLite数据库,⽽monkeyrunner则是⼀个不错的压⼒测试应⽤,模拟⽤户随机按键,mksdcard则是模拟器SD映像的创建⼯具,emulator是android模拟器主程序,不过从android1.5开始,需要输⼊合适的参数才能启动模拟器,traceview作为android平台上重要的调试⼯具。
《Android应用开发》教学大纲课程名称:Android应用开发课程英文名称:Mobile Application Design课程代码:学分: 2.5理论学时:40 讲课学时:40课程性质: 专业选修课考核方式:考查总评成绩:过程考评40%(含作业和平时表现)+结课作品演示及答辩30%+结课报告30% 先修课程:JAVA语言程序设计数据结构适用专业:计算机科学与技术开课教研室(系):计算机教研室一、课程简介《移动应用开发》课程是高等学校计算机类相关专业学习移动设备终端开发的一门重要的专业课。
本课程以Android平台开发为主要内容,详细介绍Android操作系统及其APP 设计。
安卓系统平台以开源性和丰富的扩展性受到用户好评,国内拥有数量庞大的智能安卓手机用户群,手机管理软件凭借丰富的APP应用资源下载和便捷的管理功能,成为安卓手机用户的装机必备选择。
安卓APP开发涵盖广泛,游戏、社交、旅游、工具等各种类型的应用都有大量的安卓系统开发,学习和掌握安卓APP开发已成为计算机相关专业的重要技能。
二、课程目标通过本课程学习,学生应达到如下目标:目标1:掌握Android开发的基本方法,能够根据需求,设计APP的解决方案。
目标2:能够针对具有复杂功能的APP进行设计和研究,具备解决复杂的APP设计实现的能力。
目标3:能够对复杂的APP项目在项目开发之前对项目进行预算,完成之后运用软件工程及软件项目管理的知识进行管理和维护。
目标4:通过课内实验、在实现过程中与其他学生讨论,以及实验报告和课程结课报告撰写和答辩,培养专业相关的表达能力。
三、课程与毕业要求、知识和能力对应关系通过本课程的学习,使学生对Android平台有较好的理解,对Android APP开发有较好的掌握。
专业技能方面,加强实训教学,通过大量的上机练习、代码阅读、代码改错、规范化检查,训练学生编写程序的熟练度和规范性;通过项目实践,提升动手能力,将所学知识整合运用到项目中。
什么是Android?Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。
Beta版的Android SDK提供了在Android 平台上使用JaVa语言进行Android应用开发必须的工具和API接口。
特性•应用程序框架支持组件的重用与替换•Dalvik 虚拟机专为移动设备优化•集成的浏览器基于开源的WebKit引擎•优化的图形库包括定制的2D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选)•SQLite用作结构化的数据存储•多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)•GSM 电话技术(依赖于硬件)•蓝牙Bluetooth, EDGE, 3G, 和WiFi (依赖于硬件)•照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件)•丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件Android 架构下图显示的是Android操作系统的主要组件。
每一部分将会在下面具体描述。
应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;•丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至可嵌入的web浏览器。
androidsdk安装及开发环境部署引⾔在windows安装Android的开发环境不简单也说不上算复杂,本⽂写给第⼀次想在⾃⼰Windows上建⽴Android开发环境投⼊Android浪潮的朋友们,为了确保⼤家能顺利完成开发环境的搭建,⽂章写的尽量详细,希望对准备进⼊Android开发的朋友有帮助。
本教程将分为五个步骤来完成Android开发环境的部署。
第⼀步:安装JDK。
第⼆步:配置Windows上JDK的变量环境。
第三步:下载安装Eclipse 。
第四步:下载安装Android SDK 。
第五步:为Eclipse安装ADT插件。
第⼀步:安装JDK下载到本地电脑后双击进⾏安装。
JDK默认安装成功后,会在系统⽬录下出现两个⽂件夹,⼀个代表jdk,⼀个代表jre。
JDK的全称是Java SE Development Kit,也就是Java 开发⼯具箱。
SE表⽰标准版。
JDK是Java的核⼼,包含了Java的运⾏环境(Java Runtime Environment),⼀堆Java⼯具和给开发者开发应⽤程序时调⽤的Java类库。
我们可以打开jdk的安装⽬录下的Bin⽬录,⾥⾯有许多后缀名为exe的可执⾏程序,这些都是JDK包含的⼯具。
通过第⼆步讲到的配置JDK的变量环境,我们可以⽅便地调⽤这些⼯具及它们的命令。
JDK包含的基本⼯具主要有:javac:Java编译器,将源代码转成字节码。
jar:打包⼯具,将相关的类⽂件打包成⼀个⽂件。
javadoc:⽂档⽣成器,从源码注释中提取⽂档。
jdb:debugger,调试查错⼯具。
java:运⾏编译后的java程序。
第⼆步:配置Windows上JDK的变量环境很多刚学java开发的⼈按照⽹上的教程可以很轻松配置好Windows上JDK的变量环境,但是为什么要这么配置并没有多想。
我们平时打开⼀个应⽤程序,⼀般是通过桌⾯的应⽤程序图标双击或单击系统开始菜单中应⽤程序的菜单链接,⽆论是桌⾯的快捷图标还是菜单链接都包含了应⽤程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装⽬录然后启动程序。
Android开发环境搭建(SDK不同版本的安装方法以及SDK的简单安装方法)一、确定电脑系统的位数具体步骤如下:右击“计算机”,选择“属性”,如图确定计算机系统的位数。
(必须先确定系统的位数,下载与系统位数相应的软件,但是64位系统可以使用32位的软件)。
二、软件下载软件下载时必须下载同样位数的软件,不然就会出现许多意想不到的错误,必须确定所有软件同是32位或者同是64位,不能混合下载。
软件的下载网址如下:1、jdk的下载进入该网页:/technetwork/java/javase/downloads/index.html单击JDK DOWNLOAD,进行JDK的下载,如下图:选择相应的进行下载。
2、Eclipse的下载进入该网页: /downloads/(下载Eclipse IDE for JavaEE Developers)如下图,选择相应的位数进行下载。
3、sdk的下载进入该网页/sdk/index.html下载,sdk的下载可分为两种,具体如下:可以选择下载ADT Bundle,也可以选择下载SDK Tools Only。
两种的安装方法稍有区别,在第三部分将会作介绍。
三、软件安装1、jdk的安装双击安装jdk的安装文件jdk-7u9-windows-i586。
安装完成后配置环境变量,(win7)右键“计算机”- “属性”-“高级系统设置”-“环境变量”。
在系统变量里:* 新建 JAVA_HOME 设值 C:\Program Files\Java\jdk1.7.0_09 (JDK安装路径)* 新建 CLASSPATH 设值 .;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar* 编辑 PATH 设值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin设置完成之后,单击开始菜单,在搜索框里输入cmd,回车,出现黑色小屏幕,输入Java,出现如下效果,表示Java配置正确。
Android版数字地质填图系统AoRGMap(测试版)操作说明一、概述1.1 系统功能Android(安卓)是目前嵌入式设备使用的主流操作系统,广泛应用于各种嵌入式智能设备中,性价比较高。
将数字填图系统移植到Android平台上是必然的趋势。
项目组经过近半年的努力,已经开发完成基于安卓的公益性基础GIS平台原型,并在其基础上开发了Android版数字地质填图系统AoRGMap。
相比之前基于Windows嵌入式操作系统的数字填图软件,基于Android的操作更简单,使用更灵活,设备的选择更多样,更具备推广价值。
目前,AoRGMap测试版主要提供GPS定位、路线数据采集等功能。
AoRGMap系统的基本流程是:先由桌面系统准备手图数据,转成Android可识别格式,并通过同步软件(如豌豆荚、91手机助手、360手机助手等)+ USB 线方式拷贝到采集器,经过野外工作过程采集数据之后,再导入桌面系统进行综合整理。
1.2 硬件环境目前支持的Android操作系统版本是2.2、2.3、3.0。
屏幕:必须支持多点触摸。
二、AoRGMap安装到采集器1. 在PC电脑上安装Android助手程序(豌豆荚2.0或更高版本、91手机助手等),现以豌豆荚(2.6版本)的安装为例:安装完成后,启动豌豆荚应用程序:2. 使用USB数据线连接PC与嵌入式设备(必须步骤);3. 根据豌豆荚的提示等待PC自动安装手机驱动程序(同一个手机第二次连接同一台PC时会自动跳过此步骤),以下为某型号为例:4. 自动安装手机上的Android助手软件的客户端:5. 在豌豆荚中单击左侧的“应用和游戏”,选择“已安装的应用”,在右侧界面上方单击“安装新应用”按钮:6. 选择AoGISRuntime.apk和AoRGMap.apk,并安装:7. 在豌豆荚首页中选择“SD卡管理”,将Android原型库“AoGIS”文件夹(GeoColor.GIS、GeoPoint.GIS等)拷贝到SD卡根目录(/mnt/sdcard/),同样将Android字典库“AoRGMap”拷贝到文件夹SD卡根目录(/mnt/sdcard/):三、野外手图转出到Android采集器1. 利用DGSInfo系统,设计好路线后,生成野外手图,将数据导出到Android采集器,生成路线命名的文件夹。
ArcGISforAndroid开发环境搭建ArcGIS for Android 开发环境搭建1. 基础环境搭建1.1. 安装JDK安装JDK8,并设置环境变量在cmd窗⼝输⼊java -version检查是否配置完成java -versionjava version "1.8.0_221"Java(TM) SE Runtime Environment (build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)1.2. 安装IntelliJ IDEA下载安装IntelliJ IDEA1.3. 下载Android SDK以及Google APIAndroid SDK :Google API:1.4. 创建Android模拟器使⽤AVD Manager创建Android模拟器1.5. 在线配置ArcGIS SDK配置project的build.gradle在allprojects部分添加Esri public maven repositorymaven {url 'https://esri.jfrog.io/artifactory/arcgis'}配置app的build.gradle在dependencies中添加implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'点击 sync ,⾃动下载所需的⽂件1.6. 离线配置ArcGIS SDK下载将解压出来的libs的⼦⽂件夹放到本地maven仓库在project的build.gradle中添加本地maven仓库allprojects {repositories {mavenLocal()}}将所需的的依赖放⼯程⽬录的libs⽬录下将解压的⽂件直接放到项⽬⽂件中将所需的的依赖放⼯程⽬录的libs⽬录下将解压出来的libs的⼦⽂件夹放到⼯程src\main⽬录下的新建的⽂件夹1.7. 配置权限与Java版本在AndroidManifest.xml中的Application前添加所需权限代码//⽹络权限<uses-permission android:name="android.permission.INTERNET" />//存储权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> //位置权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />在AndroidManifest.xml中的Application前声明要素所需OpenGL ES版本//use a MapView (2D) require at least OpenGL ES 2.x:<uses-feature android:glEsVersion="0x00020000" android:required="true" />//use a SceneView (3D) require OpenGL ES 3.x:<uses-feature android:glEsVersion="0x00030000" android:required="true" />在appdbuild.gradle(Module:app)的android部分最后添加:compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}1.8. 构建测试点击项⽬build,若最后显⽰BUILD SUCCESSFUL,则基本环境已经搭建完成2. 创建第⼀个应⽤2.1. 创建新⼯程新建⼀个空活动项⽬选择语⾔、平台,修改命名等2.2. 添加ArcGIS SDKbuild.gradle (Project: <project name>)添加maven {url 'https://esri.jfrog.io/artifactory/arcgis'}build.gradle (Module: <module name>)添加implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'Gradle更新:Sync Project with Gradle FilesAndroidManifest.xml添加//⽹络权限<uses-permission android:name="android.permission.INTERNET" />//use a MapView (2D) require at least OpenGL ES 2.x:<uses-feature android:glEsVersion="0x00020000" android:required="true" />在appdbuild.gradle(Module:app)的android部分指定Java版本compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}2.3 添加MapView地图控件修改activity_main.xml,替换TextView<com.esri.arcgisruntime.mapping.view.MapViewandroid:id="@+id/mapView"android:layout_height="fill_parent"android:layout_width="fill_parent"tools:ignore="MissingConstraints"></com.esri.arcgisruntime.mapping.view.MapView>2.4 设置地图添加private MapView mMapView;引⽤import com.esri.arcgisruntime.mapping.view.MapView; (IDE可能会⾃动导⼊)在onCreate事件中设置地图super.onCreate(savedInstanceState);setContentView(yout.activity_main);mMapView=findViewById(R.id.mapView);ArcGISMap map =new ArcGISMap(Basemap.Type.TOPOGRAPHIC,34.056295,-117.195800,16);mMapView.setMap(map);重载onPause、onResume与onDestroy事件@Overrideprotected void onPause() {mMapView.pause();super.onPause();}@Overrideprotected void onResume() {super.onResume();mMapView.resume();}2.5. 编译运⾏点击运⾏后,Android模拟器中将打开⽣成的App。
MapGIS Mobile for Android SDK开发指南1 简介Android SDK支持使用Java语言开发应用程序,MapGIS Mobile为Android平台提供了专门的开发包MapGIS Mobile for Android,便于开发者打造炫酷的地图应用,开发好的应用能够部署在Android2.3及以上智能手机、平板电脑和其他智能终端上,支持armeabi和armeabi-v7a两种cpu架构。
MapGIS Mobile for Android提供的功能如下:⏹地图功能:提供地图显示,地图界面控制,地图操作功能和地图文档管理功能;⏹地图文档管理功能: 支持开发者查看地图的相关信息,管理和自定义图层;⏹自定义图形:支持在地图上画点、线、圆、多边形,添加图像,添加文本;⏹地图标注:支持在地图上添加标注,添加标注视图等;⏹地图工具:通过放大镜工具,可在地图上实现交互式绘制;⏹属性查询:支持查询图层中的字段信息;⏹空间查询:支持选定空间范围对图层信息进行查询⏹空间量算与分析:支持面积距离的量算、缓冲区分析、叠加分析⏹POI查询:根据用户输入的关键字进行模糊查询,寻找到用户感兴趣的地点⏹路径规划:通过起点和终点以及偏好,规划出想要的路径MapGIS Mobile for Android向广大开发者提供了jar和so形式的开发包,基于java语言的开发,该形式开发包配置简单、使用方便,欢迎广大开发者下载使用。
2 配置开发环境配置开发环境前请到云开发世界下载MapGIS_Mobile_Android_SDK,下载的MapGIS_Mobile_Android_SDK .zip 解压后里面有示例demo,开发文档及开发所需要的Jar包和So库,下载位置如下图所示:Android开发工具很多,在这我们推荐各位开发者使用Eclipse和Android Studio作为自己的开发工具。
2.1 Eclipse配置工程第一步:新建一个Android工程新建一个Empty Activity 应用工程。
第二步:添加jar和so在上一步创建的工程中新建libs 文件夹,将云开发世界下载的MapGIS_Mobile_Android_SDK .zip解压后将SDK的jar 文件和so 库一起拷贝到libs 的根目录下(此处截图以官方示例Demo为例子)。
如下图所示;图2-1 sdk工程目录第三步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定MapGIS_ Mobile_Base.jar、MapGIS_Mobile_Map.jar、MapGIS_Mobile_Navi.jar、MapGIS_Mobile_POI.jar,确定后返回。
通过以上两步操作后,获取云开发授权您就可以正常使用MapGIS_Mobile_Android SDK为您提供的全部功能了。
注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:1)在Eclipse 中选中工程,右键选Properties->Java Build Path->Order andExport 使Android Private Libraries处于勾选状态;2)Project -> clean-> clean all2.2 Android Studio 配置工程第一步:新建一个Android工程新建一个Empty Activity 应用项目第二步:添加jar包将下载的地图SDK 的jar包复制到工程(此处截图以官方示例Demo为例子)的libs 目录下。
第三步:添加so库1)使用默认配置,不需要修改build.gradle。
在main 目录下创建文件夹jniLibs (如果有就不需要创建了),将下载文件的armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的so 库复制到这个目录即可。
如图所示:图2-1 studio工程目录2)使用自定义配置,将下载文件的armeabi 文件夹复制到libs 目录,如果有这个目录,请将下载的so 库复制到这个目录,然后打开build.gradle,找到asourceSets 标签,在里面增加一项配置,如图所示:3 获取云授权登录获取开发授权第一步:登录()注册开发者账号第二步:Activity请求授权验证代码如下:com.zondy.mapgis.android.environment.Environment.requestAuthorization(this, new AuthorizeCallback(){@Overridepublic void onComplete(){initMap();}});第三步:移动端登录注册的开发者账号获取开发授权设备导入授权证书第一步:登录()注册开发者账号第二步:在云开发世界->工作台->我的开发环境中下载授权第三步:导入授权4 基本地图功能展示对地图文档进行加载并显示,默认情况下可以进行地图的放大、缩小、平移、倾斜、旋转等操作。
//加载地图public static final String rootPath =Environment.getExternalStorageDirectory().getAbsolutePath();mapView = (MapView)findViewById(R.id.mapview1);mapView.loadFromFile(MainActivity.rootPath+"/mapgis/map/wuhan/wuhan.x ml");5 地图界面控制对地图显示进行基本的界面设置,是否显示缩放按钮、指南针、我的位置按钮、显示图标。
//显示缩放按钮mapView.setZoomControlsEnabled(true);//显示指南针按钮mapView.setShowNorthArrow(true);//显示定位按钮mapView.setMyLocationButtonEnabled(true);//显示图标mapView.setShowLogo(true);6 地图操作地图操作指MapView提供一些一些函数包括:异步加载地图、地图基本操作、地图手势控制、地图动画控制、地图显示监听、地图手势监听等。
6.1 异步加载地图异步加载地图,主要用于地图图层数目较多或加载在线服务图层的时候,加载比较慢,这个时候不能把地图加载放到主线程,需要在子线程加载地图,SDK提供异步加载地图的方法loadFromFileAsync()// 异步加载地图mMapView = (MapView) findViewById(R.id.setfolders_mapview);mMapView.loadFromFileAsync(FilePathCfg.MAPX_FILE_PATH);6.2 系统路径设置地图都可以切换颜色库和符号库,方便个性化定制地图mMapView.stopCurRequest(new MapViewStopCurRequestCallback(){@Overridepublic void onDidStopCurRequest(){Environment.setSystemLibraryPath(ANOTHER_SYSTEMPATH);mMapView.forceRefresh();}});6.3 地图基本操作地图基本操作包括,地图的放大、缩小、复位、旋转、倾斜、跳转(中心点+级别范围)、显示模式(2D,3D)、截屏、指定出图,每个功能所用到的类与方法如下所示://地图放大mapView.zoomIn(true);//地图缩小mapView.zoomOut(true);//地图复位mapView.setRotateAngleAndSlopeAngle(0.0f, 0.0f, false);mapView.setRotateCenter(new Dot(0.0f,0.0f));Rect entireRange = mapView.getMap().getEntireRange();mapView.zoomToRange(entireRange, false);//地图旋转rotateAngle += 10.0f;dispRange = mapView.getDispRange();Dot dotcenter = new Dot((dispRange.xMax + dispRange.xMin) / 2,(dispRange.yMin + dispRange.yMax) / 2);mapView.setRotateCenter(dotcenter);mapView.setRotateAngle(rotateAngle, false);//地图倾斜mapView.setSlopeAngle(slopeAngle, false);//地图跳转mapView.zoomToCenter(mapView.getCenterPoint(), 2.0f, true);//地图显示模式mapView.setShowMode(mapView.ViewShowMode3D);//地图截屏Bitmap bitmapCapture = Bitmap.createBitmap(mapView.getMeasuredWidth(),mapView.getMeasuredHeight(),Bitmap.Config.ARGB_ 8888);mapView.capture(bitmapCapture);//指定出图Bitmap toBitmap = Bitmap.createBitmap(mapView.getMeasuredWidth(),mapView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);dispRange = mapView.getDispRange();mapView.setSupportTransparency(true);mapView.getBitmap(dispRange, toBitmap);//指定出图接口2Bitmap toBitmap2 = Bitmap.createBitmap( mapView.getMeasuredWidth() / 2,mapView.getMeasuredHeight() / 2, Bitmap.Config.ARGB_8888);mapView.capture(mapView.getMeasuredWidth() / 4,mapView.getMeasuredHeight() / 4, toBitmap2);6.4 地图手势控制禁用和使能手势操作:单指双击是否放大地图,双指单击是否缩小地图,双指竖直下滑是否使地图倾斜,自由手势缩放地图,控制地图是否可以滑动,双指旋转是否可以旋转地图,传感器是否使地图器倾斜。