说实话,我卡在第一个程序很久,不会,懂得人觉得太简单了,不想理我,很无助,不过习惯了。做事靠自己。
在做这个之前,你需要确保你的环境已经搭建好了,最好你的第一个安卓程序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 repositorymaven { 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=
newArcGISMap(Basemap.Type.TOPOGRAPHIC,
34.056295,
-117.195800,
16);
mMapView.setMap(
map);
七:运行程序,选择设备,得到结果。
这就完成了hello map的程序
然后对于官网上的onPause和onResume方法,我了解不多。这个需要知道安卓的四大组件以及相关知识。
其实,还是要先看android的开发的知识,不然太吃力了,个人觉得最简单的方式就是先了解大概的知识,然后写计算器,日历,记事本,手电筒等简单程序比较好入门。