准备工作

开发工具: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):初体验的更多相关文章

  1. ArcGIS for Android入门程序之DrawTool2.0

    来自:http://blog.csdn.net/arcgis_mobile/article/details/8084763 GISpace博客<ArcGIS for Android入门程序之Dr ...

  2. protobuf(Protocol Buffers)java初体验

    因为项目须要所以简单的研究了下protobuf.我也是參照网上的博客,所以大部分内容我也就不反复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里. 我个人的第一个样例也 ...

  3. 三 APPIUM Android自动化 测试初体验

    1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <depende ...

  4. 二 APPIUM Android自动化 测试初体验

    本文转自:http://www.cnblogs.com/sundalian/p/5629358.html 1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependenci ...

  5. Android广播机制——初体验

    写在前面的话 文章为笔者自己理解 . -如有错误,欢迎指正- <第一行代码>读书笔记 写于2017年10月16日17:00:40 (一). 安卓广播的分类 a.标准广播 标准广播发出以后, ...

  6. Android Studio的初体验

    在机缘巧合之下遇到了安卓开发,接触了Android Studio开始了漫长的改bug的道路,以下为简易版心酸历程 首先我需要成功安装Android Studio,由于我过于叛逆以及为了避免出错于是从一 ...

  7. Java初体验

    参考书籍「Java语言程序设计基础篇」 比特与字节 计算机中只有0和1,二进制,即比特(bit,二进制数): 字节(byte)是最小的存储单元,每个字节有8个比特组成 即:1byte=8bit 各种数 ...

  8. 2.MySQL入门基本操作初体验

    启动和关闭mysql服务器: 一.启动方式 1.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 2.使用 守护进程safe_mysqld 启动:safe_mysqld ...

  9. Android sync adapter初体验之为什么官方文档上的代码不能work

    回答:因为其实可以work sync adapter就是google推出的一个同步框架,把各种同步操作放在一起智能管理比较省电之类的.对我而言最具体的好处反正就是,不用自己写代码了,用框架就可以了.目 ...

  10. [Qt Quick入门] 基本元素初体验

    Qt Quick作为QML语言的标准库,提供了很多基本元素和控件来帮助我们构建Qt Quick应用.这节我们简要地介绍一些Qt Quick元素,如Rectangle.Item.Text.Button. ...

随机推荐

  1. 2D 3D 景深 动画 阴影

    2D 二维的平面空间,让元素在X轴或者Y轴进行变化 2D里面的功能函数 2D-位移 2D-旋转 2D-缩放 2D-倾斜 变形属性 transform:: 位移:transform:translate( ...

  2. 面向对象编程 es5和es6的构造函数

     /*         面向对象编程                          本质 创建一个对象                  可以用 属性属性值的 方式 存储 数据参数         ...

  3. YNOI 做题记

    YNOI 做题记 偶然有一天做到了其中的一道题,于是便开始做相关的题了-- [Ynoi2015] 我回来了 - 洛谷 这之一场联考搬过来的题--于是考场上写了一个 \(O((n + m)\log^2 ...

  4. FRDM-MCXN947开发板之i2c应用

    介绍 MCXN947 NXP FRDM-MCXN947开发板是一款基于MCXN947 MCU的低成本评估板,MCU集成了双核Arm Cortex-M33微控制器和一个神经处理单元(NPU).开发板由一 ...

  5. mybatis中的useGeneratedKeys="true"

    Springboot中 Mybatis 配置文件 Mapper参数useGeneratedKeys="true" keyProperty="id"useGene ...

  6. 使用Vagrant创建CentOS虚拟机

    使用Vagrant创建CentOS虚拟机 Vagrant是一款由HashiCorp公司提供的,用于快速构建虚拟机环境的软件.本节我们将使用Vagrant结合Oracle VM VirtualBox快速 ...

  7. aspose word模板文件生成pdf

    # aspose word模板文件生成pdf package com.example.core.mydemo; import com.alibaba.fastjson.JSON; import com ...

  8. sqlUtil

    package com.cmbchina.monitor.utils;import com.alibaba.druid.sql.ast.SQLStatement;import com.alibaba. ...

  9. Linux中expr命令

    Linux中expr命令 shell中不能简简单单的加减乘除,需要使用expr.expr只能用于整数值,一般格式为 expr arg1 operator arg2 注意: 1. 运算符左右都有空格,如 ...

  10. Linux Driver : i2c-gpio

    # Linux Driver : i2c-gpio https://www.cnblogs.com/haoxing990/p/4718834.html https://blog.csdn.net/ji ...