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就可以看见地图;

ArcGIS for Android入门(Java):初体验的更多相关文章
- ArcGIS for Android入门程序之DrawTool2.0
来自:http://blog.csdn.net/arcgis_mobile/article/details/8084763 GISpace博客<ArcGIS for Android入门程序之Dr ...
- protobuf(Protocol Buffers)java初体验
因为项目须要所以简单的研究了下protobuf.我也是參照网上的博客,所以大部分内容我也就不反复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里. 我个人的第一个样例也 ...
- 三 APPIUM Android自动化 测试初体验
1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <depende ...
- 二 APPIUM Android自动化 测试初体验
本文转自:http://www.cnblogs.com/sundalian/p/5629358.html 1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependenci ...
- Android广播机制——初体验
写在前面的话 文章为笔者自己理解 . -如有错误,欢迎指正- <第一行代码>读书笔记 写于2017年10月16日17:00:40 (一). 安卓广播的分类 a.标准广播 标准广播发出以后, ...
- Android Studio的初体验
在机缘巧合之下遇到了安卓开发,接触了Android Studio开始了漫长的改bug的道路,以下为简易版心酸历程 首先我需要成功安装Android Studio,由于我过于叛逆以及为了避免出错于是从一 ...
- Java初体验
参考书籍「Java语言程序设计基础篇」 比特与字节 计算机中只有0和1,二进制,即比特(bit,二进制数): 字节(byte)是最小的存储单元,每个字节有8个比特组成 即:1byte=8bit 各种数 ...
- 2.MySQL入门基本操作初体验
启动和关闭mysql服务器: 一.启动方式 1.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 2.使用 守护进程safe_mysqld 启动:safe_mysqld ...
- Android sync adapter初体验之为什么官方文档上的代码不能work
回答:因为其实可以work sync adapter就是google推出的一个同步框架,把各种同步操作放在一起智能管理比较省电之类的.对我而言最具体的好处反正就是,不用自己写代码了,用框架就可以了.目 ...
- [Qt Quick入门] 基本元素初体验
Qt Quick作为QML语言的标准库,提供了很多基本元素和控件来帮助我们构建Qt Quick应用.这节我们简要地介绍一些Qt Quick元素,如Rectangle.Item.Text.Button. ...
随机推荐
- Opencv笔记(12)傅里叶变换
在之前了解的OpenCV为我们实现的图像变换,这些本质上是从图像到输出图像的映射,即输入仍是一幅图像.本章的傅里叶变换,输出数组的值在含义上和原图像的强度值大不相同,是输入图像的频域表示. cv::d ...
- 自定义动画 jquery的结束动画
<button name="width">改变宽</button> <button name="height"> ...
- 惠普 HP 战66 AMD 4700U 烫手 发烫,使用 Ryzen Controller 温控
由于战66只有单风扇,动不动就上80-90度. 下载:Ryzen Controller 并安装. Ryzen Controller Team / Ryzen Controller · GitLab 勾 ...
- 网络问题排查必备利器:Pingmesh
背景 当今的数字化世界离不开无处不在的网络连接.无论是日常生活中的社交媒体.电子商务,还是企业级应用程序和云服务,我们对网络的依赖程度越来越高.然而,网络的可靠性和性能往往是一个复杂的问题,尤其是在具 ...
- mybatis Selective动态判断属性值新增或修改操作,batch批量操作
mybatis Selective动态判断属性值新增或修改操作,batch批量操作 mybatis insert foreach批量添加https://www.cnblogs.com/oktokeep ...
- Interceptor拦截器demo
Interceptor拦截器demo ##接口测试类 @RestController public class TestController { @RequestMapping(value = &qu ...
- redis setnx java setIfAbsent的使用
redis setnx java setIfAbsent的使用如果为空就set值,并返回1如果存在(不为空)不进行操作,并返回0 test:0>set mykey "hello&quo ...
- Nivdia向量数据库图检索最新标杆——CAGRA
本文连接:https://wanger-sjtu.github.io/CARGA/ CAGRA 是 N社在RAFT项目中 最新的 ANN 向量索引.这是一种高性能的. GPU 加速的.基于图的方法,尤 ...
- 欢迎 Stable Diffusion 3 加入 🧨 Diffusers
作为 Stability AI 的 Stable Diffusion 家族最新的模型,Stable Diffusion 3 (SD3) 现已登陆 Hugging Face Hub,并且可用在 Diff ...
- WebUI测试-获取html页面表格数据并存到Excel中
from selenium.webdriver.support import expected_conditions as EC import pandas as pd table=WebDriver ...