许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  移动端ESRI二次开发小结:基于Esri与Android的GIS开发经验

移动端ESRI二次开发小结:基于Esri与Android的GIS开发经验

阅读数 101
点赞 0
article_banner

一些事情,又开始弄一下esri android 的东西。以前都没有好好总结,所以总是做一些重复性的工作,现在我写这个日志总结一下遇到的问题,以免以后遇到了又忘了怎么解决。有需要合作的同学可以和我联系, QQ :1779873364。
实现功能: 地图切换;手机定位;点、线、面的绘制;标记、存储;查询、统计
开发环境: android studio3.6 ; esri android runtime sdk 100.8.0

第一、 android studio  (AS)的版本一定要是这个,我原先用的是2.1的版本,结果老是报错,错误就是无法编译esri android runtime sdk 100.8.0这个包。不仅不能编译这个包,其他100.*.0的包都不可以。

第二、AS中的 java   版本一定要是1.8的,我以前用都是1.7,所以导致APP安装到手机上,只要添加mapview的控件,就会闪退。这个版本的AS会自带1.8的java编译器,所以只要更改好就可以了。等更改之后,还需要添加一句话。(build.gradle[module:app])

android{
[...]
 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

第三、除了刚才提高的闪退原因外,还需要添加一句话才可以避免闪退的发生。(build.gradle[module:app])

 defaultConfig {
 [....]
 ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
 }

第四、由于我用的是runtime100.8.0,和以往的10.2等版本发生了很大的变化,包括数据的加载方式、所用的函数等。现在就几个常用的函数罗列一下。

//添加画布图层
mGraphicsOverlay= new GraphicsOverlay();
mMapView.getGraphicsOverlays().add(mGraphicsOverlay);

//添加绘制的要素
Graphic polylineGraphic = new Graphic(polyline, polylineSymbol);
mGraphicsOverlay.getGraphics().add(polylineGraphic);

//用于获取集合图形的面积、长度
pLingLength=GeometryEngine.length(polyline);

第五、除了在使用ESRI的 二次开发 包中的遇到的各种问题,关于android开发的也有一些问题。

   (1)自从android6.0之后,不仅需要在权限清单中增加权限,还需要在代码中写上需要开启的权限。我使用的是定位、存储、网络访问。这些都需要在代码中申请。

   (2)在数据存储的时候,如果想要访问手机中的位置,其根目录的路径为“/storage/emulated/0/”。当获得文件操作的权限后,就可以使用新建文件夹、新建文件等操作了。

在这里插入图片描述


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空