《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、程序運行結果

同步博客:http://www.cnblogs.com/gis-luq​
作者:gis-luq 
郵箱:[email protected]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章