移动端ESRI二次开发小结(esri,android)

一些事情,又开始弄一下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/”。当获得文件操作的权限后,就可以使用新建文件夹、新建文件等操作了。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值