Android Studio配置ArcGIS Runtime SDK for Android

        很久没有更新博客了,最近在做跟测绘遥感相关的安卓手机软件开发,开发工具是Android Studio,官网下载地址https://developer.android.google.cn/studio/

我使用的是当前最新的4.0版本。由于开发工具的更新换代,导致部分老代码在新版本下不兼容或者用法过时,本人在配置ArcGIS

时总结了遇到的问题和我实现的具体过程,保留下来供大家参考。

一、ArcGIS Runtime SDK for Android

        所配置的库就是ArcGIS Runtime SDK for Android,官网下载地址https://developers.arcgis.com/android/latest/

注册一个esri账户登陆后方可下载。从下图可以看到我用的版本是最新的100.8.0

下载之后解压,目录如下,进入libs/arr目录,

如下图所示,这两个文件就是我们所需要的库文件,而gson-2.8.6.jar在最新版的Android Studio中已经添加好,并不需要再次加载,否则会报加载两次的错误,拷贝这两个文件到安卓项目下面的libs下面

第二版:目前arcgis已经发布到100.10.0版本,环境搭建也发生了三处变化,如果你的版本是10,请注意一下修改的地方。

首先是SDK下载地址发生了变化:https://developers.arcgis.com/downloads/#android,下面的步骤对10之前版本依然有效,新版本需要修改的地方有:

1、最小sdk版本由21变为23

2、依赖项变为:

implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'

3、将Esri的Maven存储库URL添加到项目中,Maven存储库发生了变化:

        // Add the Esri public Maven repository
        maven {
            url 'https://esri.jfrog.io/artifactory/arcgis'
        }

二、配置流程

我的工程如下图所示:

添加完库之后要点击右上角的大象按钮进行同步:

然后找到build.gradle,添加依赖项,就这一行即可:

implementation 'com.esri.arcgisruntime:arcgis-android:100.8.0'

修改这个文件中的的最小SDK版本14为21,因为SDK要求安卓最低版本为5.0,否则会报错:

还是修改这个文件,在Android花括号里面添加如下代码保证java版本兼容性:

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

最后点击另一个build.gradle添加maven:

// Add the Esri public Bintray Maven repository
        maven {
            url 'https://esri.bintray.com/arcgis'
        }

现在点击AndroidManifest.xml添加权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />

找到activity_main.xml添加arcgis地图视图,发现变红,点击右上角的大象按钮同步一下:

<com.esri.arcgisruntime.mapping.view.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
</com.esri.arcgisruntime.mapping.view.MapView>

三、运行测试

点击运行按钮即可:

接着测试加载地图:

导入包:

import com.esri.arcgisruntime.layers.ArcGISTiledLayer;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.Basemap;
import com.esri.arcgisruntime.mapping.view.MapView;

新建变量:

private MapView mMapView;

导入地图:

mMapView = findViewById(R.id.mapView);
String url = "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer";
ArcGISTiledLayer arcGISTiledLayer = new ArcGISTiledLayer(url);
Basemap basemap = new Basemap(arcGISTiledLayer);
ArcGISMap arcGISMap = new ArcGISMap(basemap);
mMapView.setMap(arcGISMap);

运行模拟器我的并没有显示任何东西,安装到平板或者手机上之后可以看到中国边界:

大功告成!!!

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值