《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
1、前言
2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本。从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也改为Android Studio。Eclipse插件被弃用。并且官方说明从版本v10.2.5,Esri公司不再提供的Eclipse IDE工具插件的形式,但是,它是可以继续使用jar包引用方式通过Eclipse完成开发工作。所以这里我们采用目前官方主推的方式给大家介绍ArcGIS Android开发环境的搭建。
2、第一个地图应用程序HelloMap配置过程
在Android Studio中基于ArcGIS Runtime SDK for Android应用程序总的来说配置分为以下四步:
- 创建一个Android工程
- 配置ArcGIS Runtime SDK 支持
- 添加UI及代码信息
- 运行程序查看结果
2.1、创建一个android工程
1) 新建一个空的Android工程,选择Start a new Android Studio project
2) 创建一个新的Activity,选择第一个Blank Activity,点击下一步
3) 到这里第一个Android应用程序就创建成功了
2.2、配置ArcGIS Runtime SDK for Android支持
1) Gradle配置
Gradle是近来比较流行的一个系统构建工具,可以通过编译自己的构建文件(build.gradle)来自定义构建流程。一个Gradle项目的构建文件是在项目的根目录下,您可以在项目的根目录下找到构建文件(build.grade)。在开发ArcGIS for Android的Gradle项目时需要配置两部分的依赖管理内容:
- 配置project的ArcGIS Repository(Esri ArcGIS maven)仓库位置
- 配置appmodule 的ArcGIS Runtime SDK for Android依赖。
2) ArcGIS Repository配置
打开根目录下的构建配置文件build.gradle文件 [对应Gradle Scripts中的 build.gradle(Project:HelloMap)]
添加仓库配置,如下:
allprojects {
repositories {
jcenter()
// Add the following arcgis repository
maven {
url'http://dl.bintray.com/esri/arcgis'
}
}
}
说明:这样你所需的ArcGIS的jar包就会自动下载到本地的仓库里了,下次再建项目时需要引用ArcGIS 的jar时,他会去你本地直接查找相关jar引入到你的项目里。
3) App Module配置
App Module中的build.gradle文件适合用来放特殊的指令和任务(对应Gradle Scripts中的 build.gradle(Module:app))。一个ArcGIS Android app需要ArcGIS Android API library工程依赖。一旦在project级别的build.gradle文件中配置好了ArcGIS的仓库,则可以在这个文件中声明ArcGIS Android的依赖。
a) ArcGIS依赖配置
dependencies {
...
// Add the ArcGIS Android 10.2.6 API
compile 'com.esri.arcgis.android:arcgis-android:10.2.6-2'
}
a) Packaging配置
在生成APK时我们可能不希望将一些文件打包到APK中,这时我们可通过下面的配置将所需文件排除APK文件中:
packagingOptions{
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
c) Permissions和Features配置
对于绝大多数的ArcGIS Android apps的应用几乎都需要网络的支持;也有一些应用可能会需要访问设备的sdcard,需要对该卡有读写的权限;除此对于GIS来说最常用的功能就是定位了所有,应用应该具备定位权限。 ArcGIS Android apps的MapView使用了OpenGL2.x,所以在android应用程序的配置文件AndroidManifest.xml中还需添加OpenGL的支持,因此应用的配置文件至少包含下面的配置信息:
<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" /> <uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
2.3、添加UI及代码信息
在完成了一系列的配置操作后,接下来需要完成UI的制作和地图代码信息的设置。
1) 设置应用程序Activity的UI信息
打开res>>layout>>activity_main.xml文件,添加Mapview信息
<com.esri.android.map.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</com.esri.android.map.MapView>
2) 新建MapView并设置UI和代码的绑定
private MapView mapView = null;
private ArcGISTiledMapServiceLayer arcGISTiledMapServiceLayer = null; this.mapView = (MapView)this.findViewById(R.id.map);//设置UI和代码绑定
3) 新建地图图层并添加到MapView中
String strMapUrl="http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer";
this.arcGISTiledMapServiceLayer = new ArcGISTiledMapServiceLayer(strMapUrl);
this.mapView.addLayer(arcGISTiledMapServiceLayer);
结果如下图所示:
2.4、程序运行结果
《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境的更多相关文章
- ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代
ArcGIS Runtime SDK 10.2.5 for WPF is now available! by mbranscomb and Rex Hansen on January 27, 2015 ...
- ArcGIS Runtime SDK for WPF学习笔记(一)
本节主要讲解如何安装ArcGIS Runtime SDK,以及移除注释与水印. 附上ArcGIS Runtime SDK for .NET的官方操作手册网址:https://developers.ar ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...
- 《ArcGIS Runtime SDK for Android开发笔记》
开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述
1.前言 数据生产和数据展示是常见的两大专业级移动GIS应用场景,这里我们针对数据生产环节的ArcGIS的离在线一体化技术给大家做一个基本的介绍和梳理. 使用ArcGIS离在线一体化技术首先需要以下基 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步
1.前言 上一篇文章中我们实现了离线要素的编辑操作,这一篇中主要介绍离在线一体化技术中最后一个环节离线数据的同步功能,通过对数据的上传,服务器端的版本化管理,实现数据生产管理的整个流程. 转载请注明出 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
1.前言 学习ArcGIS Runtime SDK开发,其实最推荐的学习方式是直接看官方的教程.示例代码和帮助文档,因为官方的示例一般来说都是目前技术最新,也是最详尽的.对于ArcGIS Runtim ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)(转)
1.前言 在上一篇的内容里我们介绍了基于Android Studio构建ArcGIS Runtime SDK for Android开发环境的基本流程,流程中我们采用的是基于Gradle的构建方式,在 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO
1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...
随机推荐
- Great Expectations
Dear friend, This game is created based on Dicken's Great Expectations. To colorful the contents, I ...
- Git的介绍和使用
Git是目前世界上最先进的分布式版本控制系统 Git的安装 1.在linux上安装 你可以先输入git,看看系统是不是已经自带了git 或者 sudo apt-get install git 就可以 ...
- php实现函数可变参数列表
使用func_get_args().func_num_args().func_get_arg() 可以构造一个可变参数列表的函数. 首先大致介绍以上三个函数. (1)array func_get_ar ...
- 设置npm的镜像源
将npm的镜像源设置为淘宝镜像源 1.执行命令修改镜像源地址:npm config set registry https://registry.npm.taobao.org 2.重新加载修改后的地址: ...
- 【转发】Webdriver使用自定义Firefox Profile运行测试
点击进入转发地址: 一般我们使用如下代码启动Firefox: 这样Selenium Server启动的Firefox将是一个全新的,不安装任何Add-On的Firefox. 如果有需要,我们可以使用我 ...
- SpringMVC中配置AOP拦截controller 失效
来源:http://www.oschina.net/question/222929_124314 目测大部分同学的aop失效都是因为在springmvc的配置文件里面扫描了类,那么spring去扫描的 ...
- java String 提供的方法
String类的判断功能: * boolean equals(Object obj):比较字符串的内容是否相同,区分大小写 * boolean equalsIgnoreCase(String str) ...
- Datenbanksystem
1.Einführung 1.1 Die Einführung des Datenbanksystem Das Begriff Daten:Sie verwendet als Beschreibung ...
- Python(3):文件读写与异常
访问路径: 文件读写必然涉及到文件会放在某个路径下.在python里,可以通过引入os包来实现切换当前访问的路径: # 假设我在 /home/zyq/KiDe/Python/test 文件夹中有一个文 ...
- xml布局中include的使用
参考:http://blog.csdn.net/harvic880925/article/details/17263275 include_button1.xml <?xml version=& ...