ArcGIS for Android(Android Studio开发ArcGIS项目)
Android Studio开发ArcGIS项目有两种方式,一种是引用在线的ArcGIS库,一种是把【arcgis-runtime-sdk-android-100.2.1】下载下来后放到本地引用,先说在线引用,因为比较简单
方式一 :在线引用
1、新建工程
我的Android Studio版本是3.5的

file – new – new projet,
选择Empty Activity,点击next。

点击next后结果如下图:

我的Minimum API level是 19 ,android版本4.4(KitKat),点击finish。
得到如下图:

点击下图箭头位置,可以切换项目目录结构,


如下图,双击Gradle Scripts

双击【build.gradle(Project)】

在里面添加
// 添加Esri公共Bintray Maven repositorymaven {// url 'http://dl.bintray.com/esri/arcgis'url 'https://esri.bintray.com/arcgis'}
url 'http://dl.bintray.com/esri/arcgis’和url 'https://esri.bintray.com/arcgis’都可以,
如何找链接?百度 【maven】

进入页面后搜索arcgis

点击进入,之后再点击任意一个版本,

即可找到依赖和相关链接地址

在【build.gradle(Project)】添加完后如下图:

之后,打开【build.gradle(Module)】,

在里面添加
//添加Runtime依赖implementation 'com.esri.arcgisruntime:arcgis-android:100.3.0'
如下图:
之后在 【manifests】下的【AndroidManifest.xml】里添加
目的是使程序可以联网


在【activity_main.xml】里添加

如下图,同时注释掉【
然后点击【Sync Project with Gradle files】按钮,如果没有这个按钮,可以在下图所示中点击【搜索】图标进行搜索,或按照下下张图所示进行添加:


点击【Sync Project with Gradle files】按钮会等待较长时间去下载依赖,初次下载时间挺长的,好了之后点击【Make Project】按钮,这是为了看看项目没有啥毛病。

没什么毛病就在【MainActivity】里添加代码,如下下张图


代码如下
public class MainActivity extends AppCompatActivity {//定义一个MapView对象public MapView mMapView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//将MapVIew对象与控件进行绑定this.mMapView = (MapView)this.findViewById(R.id.mapView);// 创建一个地图对象ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16);// 设置地图展示在MapView控件中mMapView.setMap(map);}@Overrideprotected void onPause() {super.onPause();mMapView.pause();}@Overrideprotected void onResume() {super.onResume();mMapView.resume();}@Overrideprotected void onDestroy() {super.onDestroy();mMapView.dispose();}
}
之后自己百度配置模拟器或者链接手机运行代码进行测试

结果如下图:
项目代码:
链接: 在线引用项目代码

注意,我的手机是OPPO R11,有时可以正常运行,有时不能,所以我喜欢用模拟器,但是运行几次后,模拟器内存可能会满,不能安装程序,所以得清除内存,
流程如下:
点击【AVD Manager】

点击你的模拟器名字,右键【Wipe Data】,意思是清除数据,之后重启就能安装程序了。

方式二:本地引用
可以参考下面链接这篇文章去下载【ArcGIS Runtime SDK for Android】,
https://blog.csdn.net/Sky_Tree_Delivery/article/details/89887246,
【ArcGIS Runtime SDK for Android的下载网址是https://developers.arcgis.com/android/latest/】
下载好后创建个【Empty Activity】项目,

把项目目录模式改成【Project】如下图:

把下两张图的三个文件拷到你项目的【libs】目录中


libs目录内容如下

之后把项目目录结构改成【Android】类型,如图:

在【build.gradle (Project…)】里添加如下内容:
flatDir {dirs 'libs'}
如图:

再打开【【build.gradle (Module…)】】,添加如下内容:
implementation(name: 'arcgis-android-100.2.1', ext: 'aar')implementation files('libs/gson-2.8.0.jar')
如下图

双击【Sync Project with Gradle files】按钮,查看【gson-2.8.0.jar】前面有没有三角图标,有表示jar包已经进入项目,没有则

如果没有三角图标,则表示jar包还未加入项目,则需要在【gson-2.8.0.jar】上右键【Add as Library】,以此添加


如果没有添加成功就按照下面三张图操作



按照下图检【arcgis-android-100.2.1.aar】查有没有添加进项目中,下图所示是添加进了。

如何在【AndroidManifest.xml】里添加如下内容:


目的是让程序可以访问网络;
之后在【activity_main.xml】中添加

最后在【MainActivity】里添加
public MapView mMapView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//将MapVIew对象与控件进行绑定this.mMapView = (MapView)this.findViewById(R.id.mapView);// 创建一个地图对象ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16);// 设置地图展示在MapView控件中mMapView.setMap(map);}

之后最后点击下【Sync Project with Gradle files】按钮,再点击下【Make Project】

如果没报错就点击运行,结果如下图:
注意:我的安卓手机有时会闪退,所以我使用的是模拟器进行展示,
模拟器运行几次后内存容易占满,此时需要清除模拟器内的缓存,方法我已经在【方式一】结尾处写了。

项目代码:
链接: 在线引用项目代码
链接: 本地引用项目代码
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
