Arcgis runtime sdk for android第一个程序Holle Map

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arcgis runtime sdk for android第一个程序Holle Map相关的知识,希望对你有一定的参考价值。

         说实话,我卡在第一个程序很久,不会,懂得人觉得太简单了,不想理我,很无助,不过习惯了。做事靠自己。

        在做这个之前,你需要确保你的环境已经搭建好了,最好你的第一个安卓程序hello world!也跑起来了,那么下面这个hello map将变得非常简单。

        做第一个程序,你需要的是什么都不要知道,只需要,我做什么你做什么,因为我了解的不多,回答不来你的很多问题,我也是初学者,写这个主要是心路历程。其实,等你有安卓开发基础,来看这个东西就比较轻松了,不然和我刚开始一样很吃力。

       根据官网的guide指导,其实我们就可以做好hello map了。

       一:首先android runtime sdk已经更新了,由10.2x变为100.1了,有很多新的变化和调整。值得注意的,也是非常坑爹的,它对android api的权限有所提高,最低是多少,我没有测试,但是推荐是23,因为可能会有访问互联网的权限限制。具体的需要看“你为Android运行的ArcGIS SDK开发的大多数应用程序都需要这个特性和最低限度的权限”,你也可以看官网的guide,比我讲得详尽。

       二:需要科学上网,因为android studio在启动第一个程序的时候需要请求gradle的相关文件,非常慢,尤其是你从github下载sample源码是,启动程序时候,gradle下载的非常慢,解决的方法最好是科学上网,你也可以去百度一下自行下载gradle的镜像,不过非常的繁琐,你需要下载相对于的版本,不然还是崩溃,网上有可试用的科学上网工具,几分钟就能下好。

       三:还是说了很多废话,下面开始步骤的讲解

         启动as,新建工程,千万不要汉化,要适应全英文这玩意。

技术分享

应用名称Hello map其他可以不用管。

技术分享

api我选择23,因为可能需要访问互联网的权限,下面的穿戴设备可不用考虑

技术分享

选择空的activity。

技术分享

同样的是命名,一个是activity一个layout

接下来大致可以分为7步,可能我理解的不对,也请读者指点

一:添加Esri公共一个叫Bintray Maven存储库,目的是告诉Gradle去哪里寻找Android依赖ArcGIS Runtime SDK,根据指定一个Maven库的URL。图片我将放大。

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

技术分享

二:添加依赖项部分,注意大小写。

compile ‘com.esri.arcgisruntime:arcgis-android:100.1.0‘

技术分享

三:在Android Studio工具栏,单击项目文件同步工具。或者,当你看到Gradle文件项目同步消息在Gradle脚本窗口顶部的改变,点击立即同步。

技术分享

技术分享

这两个是一个意思,提示需要项目文件同步。如果你选择api默认的15 ,会报错。很僵硬。

 四:通知Android启动器你的应用程序需要访问互联网的权限。如果应用程序运行在Android API级别23或以上,则在安装时请求正常权限,Internet访问是正常权限,因此不需要额外的工作来启用此权限。它还表明你的应用程序需要OpenGL版本2软件功能来运行应用程序。

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

技术分享

五:添加一个视图的活动布局。把原来的text view删除,那个经典的hello world
<com.esri.arcgisruntime.mapping.view.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</com.esri.arcgisruntime.mapping.view.MapView>

技术分享六:

(1)添加下面的类变量声明顶部的MainActivityclass:

private MapView mMapView;

(2)导入MapView类,鼠标放在红字位置,按alt+enter。

import com.esri.arcgisruntime.mapping.ArcGISMap;

import com.esri.arcgisruntime.mapping.Basemap;

import com.esri.arcgisruntime.mapping.view.MapView;

(3)onCreate方法里,setContentView后添加mMapView的展示设定

 mMapView = (MapView) findViewById(R.id.mapView);
 ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16); 
mMapView.setMap(map);
技术分享

七:运行程序,选择设备,得到结果。

技术分享

这就完成了hello map的程序

然后对于官网上的onPause和onResume方法,我了解不多。这个需要知道安卓的四大组件以及相关知识。

其实,还是要先看android的开发的知识,不然太吃力了,个人觉得最简单的方式就是先了解大概的知识,然后写计算器,日历,记事本,手电筒等简单程序比较好入门。

 
 

 










以上是关于Arcgis runtime sdk for android第一个程序Holle Map的主要内容,如果未能解决你的问题,请参考以下文章

《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述

Arcgis runtime sdk for android第一个程序Holle Map

《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:发布具有同步能力的FeatureService服务

《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据下载

《ArcGIS Runtime SDK for Android开发笔记》——(15)要素绘制Drawtools3.0工具DEMO

《ArcGIS Runtime SDK for Android开发笔记》——(15)要素绘制Drawtools3.0工具DEMO