zoukankan      html  css  js  c++  java
  • 《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、程序运行结果

  • 相关阅读:
    vue——学习笔记
    工作笔记——上传图片
    前端调试利器——BrowserSync
    工作笔记——一些常用函数的封装
    【html、CSS、javascript-3】几个基本元素
    【html、CSS、javascript-2】CSS基础
    【html、CSS、javascript-1】html基础
    【python之路37】with上下文管理
    【python之路36】进程、线程、协程相关
    【python之路35】FTP文件断电续传作业
  • 原文地址:https://www.cnblogs.com/gis-luq/p/4760370.html
Copyright © 2011-2022 走看看