ArcGIS for Android 开发环境搭建

1. 基础环境搭建

1.1. 安装JDK

  • 安装JDK8,并设置环境变量

  • cmd窗口输入java -version检查是否配置完成

    java -version
    java 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 IDEA

1.3. 下载Android SDK以及Google API

  • Android SDK :

  • Google API:

1.4. 创建Android模拟器

  • 使用AVD Manager创建Android模拟器

1.5. 在线配置ArcGIS SDK

  • 配置project的build.gradle

    allprojects部分添加Esri public maven repository

    maven {
    url 'https://esri.jfrog.io/artifactory/arcgis'
    }
  • 配置appbuild.gradle

    dependencies中添加

    implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'
  • 点击 sync ,自动下载所需的文件

1.6. 离线配置ArcGIS SDK

  • 下载ArcGIS SDK

  • 将解压出来的libs的子文件夹放到本地maven仓库

    • projectbuild.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_8
    targetCompatibility JavaVersion.VERSION_1_8
    }

1.8. 构建测试

  • 点击项目build,若最后显示BUILD SUCCESSFUL,则基本环境已经搭建完成

2. 创建第一个应用

2.1. 创建新工程

  • 新建一个空活动项目

  • 选择语言、平台,修改命名等

2.2. 添加ArcGIS SDK

  • build.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 Files

  • AndroidManifest.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_8
    targetCompatibility JavaVersion.VERSION_1_8
    }

2.3 添加MapView地图控件

  • 修改activity_main.xml,替换TextView

        <com.esri.arcgisruntime.mapping.view.MapView
    android: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(R.layout.activity_main); mMapView=findViewById(R.id.mapView);
    ArcGISMap map =new ArcGISMap(Basemap.Type.TOPOGRAPHIC,34.056295,-117.195800,16);
    mMapView.setMap(map);
  • 重载onPauseonResumeonDestroy事件

        @Override
    protected void onPause() {
    mMapView.pause();
    super.onPause();
    } @Override
    protected void onResume() {
    super.onResume();
    mMapView.resume();
    }

2.5. 编译运行

点击运行后,Android模拟器中将打开生成的App

ArcGIS for Android 开发环境搭建的更多相关文章

  1. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  2. Android开发环境搭建全程演示(jdk+eclipse+android sdk)

    全程演示android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本 一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/java ...

  3. Java、Android 开发环境搭建

    一.准备工作 为便于管理,将java开发工具集中到一个文件夹中.创建D:\javaDevE文件夹,JDK.Android-SDK.Eclipse.tomcat等都可以安装到这个文件夹中. 二.搭建Ja ...

  4. Android开发环境搭建相关文章列表(转载)

    Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...

  5. Android开发环境搭建及常见问题解决方法

    转自: http://www.cnblogs.com/rwxwsblog/p/4769785.html 在移动互联网的时代,Android的份额早已超过了苹果.Android的出现无疑加速了移动互联网 ...

  6. Ionic Android开发环境搭建 下

    上篇 Ionic 安装完成了,由于要开发Android,所以必不可少需要继续搭建Android开发环境. 首先,下载并安装JDK.然后配置一下环境变量. 接着,下载并安装Android SDK.下载过 ...

  7. android 开发环境搭建 (转)

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环 境去学习,Android的更新速度比较快了,Android1 ...

  8. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  9. linux android开发环境搭建

    android开发环境搭建的一些有用链接:1.sdk manager的国内服务器http://www.cnblogs.com/huangjacky/p/4077982.html2.常见问题的解决htt ...

  10. android外包公司—技术分享:Android开发环境搭建(长年承接安卓应用外包)

    Android开发环境搭建 1.安装JDK 1.1.由于Android是基于java语言的.所以在开发过程中,首先要做的事儿就是安装JDK. 1.2.JDK的安装步骤: 设置环境变量:我的电脑---- ...

随机推荐

  1. 基于训练和推理场景下的MindStudio高精度对比

    摘要:MindStudio提供精度比对功能,支持Vector比对能力. 本文分享自华为云社区<[MindStudio训练营第一季]MindStudio 高精度对比随笔>,作者:Tianyi ...

  2. SpringBoot内置tomcat启动过程及原理

    作者:李岩科 1 背景 SpringBoot 是一个框架,一种全新的编程规范,他的产生简化了框架的使用,同时也提供了很多便捷的功能,比如内置 tomcat 就是其中一项,他让我们省去了搭建 tomca ...

  3. Day37:正则表达式详解

    正则表达式 1.1 概述 正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性. 比如我们在网站上输入用户账号,要求我们输入的账号信息要符合账号的格式,而校验我们输入的账号格式是否正确 ...

  4. k8s驱逐篇(5)-kube-controller-manager驱逐

    kube-controller-manager驱逐 概述 kube-controller-manager驱逐主要依靠NodeLifecycleController以及其中的TaintManager: ...

  5. 你不知道的Map家族中的那些冷门容器

    概述 本篇文章主要讲解下Map家族中3个相对冷门的容器,分别是WeakHashMap.EnumMap.IdentityHashMap, 想必大家在平时的工作中也很少用到,或者压根不知道他们的特性以及适 ...

  6. 聚焦技术,锐意创新,GaussDB给世界一个更优选择

    摘要:从整个行业应用层面来看,现在,数据库的国产化时代已经到来. 本文分享自华为云社区<聚焦技术,锐意创新,GaussDB给世界一个更优选择>,作者: GaussDB数据库. 今天,以&q ...

  7. LeetCode HOT 100:子集(简单易懂的回溯)

    题目:78. 子集 题目描述: 给你一个整数数组,数组中元素互不相同.返回数组中所有可能的子集,且子集不能重复! 什么是子集?举个例子:原数组[1, 2, 3],[].[1].[1, 2].[1, 3 ...

  8. WPF 自定义附加事件

    我们都知道路由事件,而附加事件用的比较少. 但如果是通用的场景,类似附加属性,附加事件就很有必要的. 举个例子,输入设备有很多种,WPF中输入事件主要分为鼠标.触摸.触笔:WPF 屏幕点击的设备类型 ...

  9. vulnhub靶场之IA: KEYRING (1.0.1)

    准备: 攻击机:虚拟机kali.本机win10. 靶机:IA: KEYRING (1.0.1),下载地址:https://download.vulnhub.com/ia/keyring-v1.01.o ...

  10. python 之路 37 Navicat 可视化软件使用、 pymysql模块使用

    多表查询的两种方法 方式1:连表操作 inner join 内连接 select * from emp inner join dep on emp.dep_id=dep.id; 只连接两张表中公有的数 ...