ArcGIS for Android入门(Java):初体验
准备工作
开发工具:Android Studio
环境:jdk 11
(首次接触安卓开发,可能有的地方不太对,还请给位大佬多多指点)
项目搭建
打开Android Studio,点击New Project,选择一个空白的模板后点击下一步;
填写自己的项目信息,后点击完成(Language记得选Java,Minimum SDK选择API 23),点击完成后等待IDE构建完成;
依赖引入
打开settings.gradle,添加如下依赖;添加后点击Sync Now更新同步;
maven { url 'https://esri.jfrog.io/artifactory/arcgis' }
打开build.gradle(Module),添加以下依赖;
implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0'
将JavaVersion改为11,并配置如下代码;添加后点击Sync Now更新同步;
packagingOptions {
resources {
excludes += "META-INF/DEPENDENCIES"
}
}
buildFeatures {
viewBinding true
}
地图展示
新建MainActivity与activity_mian文件
package com.newmap.myapplication;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.esri.arcgisruntime.layers.ArcGISVectorTiledLayer;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.Basemap;
import com.esri.arcgisruntime.mapping.view.MapView;
public class MainActivity extends AppCompatActivity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mian);
mMapView = findViewById(R.id.mapView);
// 这里切换成自己的内网地图地址
String vecUrl = "http://192.168.0.19/server/rest/services/Hosted/DigitalMap/VectorTileServer";
ArcGISVectorTiledLayer vectorTiledLayer = new ArcGISVectorTiledLayer(vecUrl);
ArcGISMap map = new ArcGISMap(new Basemap(vectorTiledLayer));
mMapView.setMap(map);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- MapView控件 -->
<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>
</RelativeLayout>
最终的目录结构
配置AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" /><!--联网权限 -->
<uses-feature android:glEsVersion="0x00020000" android:required="true" /><!--OpenGL ES支持 -->
在application中添加如下配置
<activity
android:name="com.newmap.myapplication.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
连接手机点击运行即可在手机上安装示例程序,打开安装的APP就可以看见地图;