AndroidGIS开发协助文档

1、开发工具
(1)android Studio 目前来说开发工具主推android Studio,它是开发Android应用程序的官IDE,目前已经比较稳定,官方网站https://developer.android.com/sdk/index.html(目前被墙了),可以在https://www.androiddevtools.cn/ 中下载找到最新版本,完成下载。安装具体步骤见:http://www.runoob.com/android/android-studio-install.html
(2)EclipseEclipse想要开发Android需要安装AndroidSDK插件,并为Eclipse安装ADT插件,一般配置流程如下:1、安装JDK。2、安装Eclipse。3、下载并安装AndroidSDK插件。4、安装ADT插件具体步骤见https://blog.csdn.net/qq_21454973/article/details/80429545。
(3)两者比较1、IDE界面
  a、Android Studio提供的dock留边停靠完胜eclipse,在eclipse中要是想用更大的视野来显示一个view,而隐藏其他的view的一个方法就是点X,关闭后要打开就比较麻烦了,而Android Studio是将常用的view最小化dock到其边界,更加人性化,已操作和灵活。
  b、第二点,eclipse的启动速度令人蛋碎呢,每次开机先启eclipse,后启动其他程序,其他程序都百米5s的速度,eclipse都还没上起跑线。
  c、还有eclipse的死机问题非常严重。
  2、项目编码
  a、Android studio中的图标在每行最开始表示,使开发者更加可视化了自己的界面,程序等,这是Android Studio的最大亮点。
  b、错误提示不比eclipse提示,eclipse放在错误上边即可提示,android studio需要按快捷键command+1才能显示。
  c、拷贝一个方法或字段到另一个地方时,eclipse中是连它的引入类一起拷贝,比如拷贝List时会连import java.util.List和import android.Bluetooth.BluetoothDevice一起拷贝过去,而android Studio会给用户提供一个选择,要拷什么不要拷什么会给用户一个界面来勾选。
  d、Android Studio 中 command+W可以直接快速定位到最近编辑的文件,不知道eclipse中有没有,暂时没有发现。
  e、inspect code,利用android lit可以帮助开发者自动检查代码中的错误和有可能出现bug的地方。
  f、在Android Studio中code assistance要远远强大于eclipse,比如你可以先调用方法,再写方法时会有提示,而在eclipse中只能傻傻地自己写,没有提示。还有一个,拷贝string或color中的value前选择value的时候,eclipse的反应速度慢到无法忍受。
  3、res资源
  a、Android studio中的颜色等都在每行最开始表示,使开发者更加可视化了自己的界面,程序等,这是Android Studio的最大亮点。
  b、在代码中可以看到资源中不痛分辨率下的drawable图像,将光标放置图像名字中间,点View-quick documation即可看到,由于是在本环境中打开,而不是像eclipse中重启程序打开,所以打开图像的速度远远小于eclipse。
  C、生成res的values文件更简单,感觉创建时更倾向于android开发,android专用,不像eclipse那么复杂。
  d、提示更加完善,比如如果将Button拼成Bitton,Android Studio会自动检查出来,如果没有layout_width或layout_height,会自动检查出来并提供选项让开发者选择。
  e、在android Studio中提供了一个Preview视图,可以和layout.xml文件进行关联,在xml文件中改属性,或添加组件,会动态在Preview视图中表现出来,而且可以添加不同语系,不痛屏幕尺寸的android设备。
 4、编译代码
  a、在eclipse中编译速度感觉要慢于Android Studio,但是在eclipse中有一个build automatically的功能,觉得挺好用,在android Studio中未找到,只能在每次安装前手动编译。
  b、编译后选择运行的平台,eclipse中会自动打开软件,而android Studio会安装软件,需要手动打开。
2、界面设计软件
(1)、Balsamiq如果说要追求一种静态手绘文艺风格的产品线框图,Balsamiq绝对是一个优秀的选择。这款工具中所有的组件都是手绘风格,相信这种文艺气息会在设计师进行界面设计的时候提供更多的灵感和启发。作为安卓界面设计工具,Balsamiq可以算作是文艺青年的选项之一。
百度网盘:链接:https://pan.baidu.com/s/1E-8_ji1HjYZsz_iCazOnTw 提取码:dpl9
(2)、MockplousMockplus主要的功能则是针对于简单快速的设计交互,然而很多人其实并没有发现,Mockplus在线框图的部分也是支持手绘风格的,尽管这样的风格会在交互进行的时候让整个画风看上去很奇怪。Mokcplus的线框图设计还是已清晰的实线为主,它更希望在向开发人员表达设计师想法的同时,保持尽可能的简单和整洁。同时,在项目建立的第一步,用户就可以根据自己的需要来选择手机的模板,这个功能在安卓界面设计工具可以说是实惠又好用。

(3)、Adobe XD你可以向这款工具中导入自己在ps或者其它工具上制作好的图片,也可以自己创作线框图。不过Adobe XD的线框图看上去相对更加简化,并没有想Mockplus中类似与“树”组件之类的复杂设计。不过既然是线框图,表达清楚就好了。
(4)、Sketch说到安卓手机界面设计工具,Sketch是一款不得不提的产品。自从出现在Mac上以来,Sketch迅速的侵略了图像设计和线框图设计工具的市场。多插件支持的策略使得Sketch在保持自身风格的同时兼容并蓄,支持了很多其它工具产品的优秀功能。
3、微信小程序开发
(1)、微信小程序开发介绍小程序就是基于微信平台的H5轻应用,微信将系统底层功能(设备、位置、媒体、文件等)和微信自身功能(登录、支付、分享等)封装成相应API供小程序调用。所有的开发都开源的,想要开发一个小程序只需要下载腾讯自主的小程序开发工具,一个微信小程序由JSON、WXML、WXSS、和Javascript脚本组成,其中JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。语法如下: WXML 全称是 WeiXin Markup Language,是小程序框架设计的一套标签语言,结合小程序的基础组件、事件系统,可以构建出页面的结构。简单的 WXML语句在语法上同 HTML 非常相似。但是在 Web 开发中,开发者使用 JavaScript 通过Dom 接口来完成界面的实时更新。在小程序中,使用 WXML 语言所提供的数据绑定功能,来完成此项功能,并且包含了逻辑判断的功能。WXSS(WeiXin Style Sheets)是一套用于小程序的样式语言,用于描述WXML的组件样式,也就是视觉上的效果。WXSS与Web开发中的CSS类似。为了更适合小程序开发,WXSS对CSS做了一些补充以及修改。 JavaScript小程序的主要开发语言,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来完成业务需求。一个关于小程序开发的实例网站:https://www.cnblogs.com/shihaiming/p/8557731.html
(2)、小程序开发中的GIS插件1、API中自带的Map控件该控件提供腾讯地图显示、定位查询的功能,没有矢量绘制等功能,也没有提供添加自己发布的地图的接口,该控件的功能接口如下: 目前腾讯地图推出了定制化的地图显示,但是也是在配色上有所不同,对于校园系统可以直接定位到要显示的地方,但管网系统等,点线面的可视化依旧是个问题。
2、百度、高德提供的微信小程序JavaScript API该控件同上边相同,只是提供百度、高德地图显示POI查询、模糊查询、地址转换和天气查询功能,也没有矢量绘制等功能,也没有提供添加自己发布的地图的接口。
(3)、总结微信小程序优势在于体量轻,平台用户群体大,使用便捷,但是对于地物的显示还达不到我们要做的系统的要求,而且目前好像也没有支持WMS和WFS的接口,虽然可以绘制点和线,但是也是在百度、腾讯等提供的地图基础上进行绘制,之后可能会有所更新。
3、Android开发中的GIS插件
(1)、UCMap由国产公司跬步科技开发的UCMap它的功能:1、支持大数据量的离线矢量shp地图和影像,且地图浏览速度远超其他任何GIS平台;
2、支持自定义点、线、面矢量符号的制作、渲染以及变换操作;
3、拥有丰富的矢量交互编辑功能;
4、支持各种空间查询和空间分析;
5、支持路径规划、地图标绘(军标)、等值线、缓冲区分析、叠置分析等功能;
6、支持GeoServer发布的OGC服务,即支持标准的WMS、WMTS、WFS、WCS标准服务。分为OpenGL-ES版和Skia版(Android apk 里面的画图分为2D和3D两种:2D是由Skia 来实现的,也就是我们在框架图上看到的SGL,SGL也会调用部分opengl 的内容来实现简单的3D效果;3D部分是由OpenGL|ES实现的) 实例显示:
Skia版提取码:链接:https://pan.baidu.com/s/1pKAtG7UJSXfXpo17rMExzQ 提取码:jk90UCMap 开发教程链接:https://pan.baidu.com/s/1nvBSZC_XsMTALro0W_RSJQ 提取码:2bh5
(2)、ArcGIS Runtime SDK for AndroidArcGIS Runtime SDK for Android,功能十分强大,支持多种地图样式加载比如瓦片地图、要素地图等,而且提供多种地图操作事件和地图渲染,满足各种GIS系统需求,但是其服务只能通过ArcGIS Server发布,不过ArcGIS Runtime SDK for Android 100.2版本之后似乎可以支持本地Shapfile 文件的加载、显示和查询
和对本地 Shapefile 文件的编辑,即增删改操作 。这样似乎就能绕过发布服务的坑。ArcGIS for Android 开发基础教程链接:https://pan.baidu.com/s/1CObmW9nmVz3oE2Xi5Ujaqg 提取码:tasp ArcGIS Runtime SDK for Android 100.4版本下载 链接:https://pan.baidu.com/s/1cMUXBIxH_COxFfTSdHfiCA 提取码:z0w1
(3)、SuperMap iMobile 9D(2019) for Android超图公司的移动端产品其中Lite版是开源的官网的功能介绍:· 全面的GIS功能,一个平台即可满足移动GIS开发要求。 · 流畅的地图体验,秒级出图。 · 全新的AR地图操作模式,辅助野外采集。 · 全面支持GL地图瓦片、MVT矢量瓦片。 · 语音辅助文字输入,提升外业文字录入效率。· 支持三维、支持MVT矢量瓦片、GL地图瓦片 · 支持在线、离线地图 · 支持本地矢量格式:udb、shp、mif、dwg、dxf、kml、kmz等 · 支持本地栅格格式:tiff、geotiff、img、sit、sci、jpg、png、bmp· 支持三维数据:精细模型、倾斜摄影、点云、地形、BIM等 · 支持在线地图:天地图、OpenStreetMap、百度、谷歌、必应、OSM、OGC、SuperMap Online等 · 新增接入分布式分析服务,包括聚合、密度、区域汇总、缓冲区、叠加、网格索引等十种分析服务 · 支持本地空间分析,包括缓冲区分析、叠加分析、网络分析 在线的联机帮助:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iMobileForAndroid/SuperMapObjectsEmbeddedHelp.htm(4)、Mapbox Android SDK Mapbox是一个可以免费创建并定制个性化地图的网站,Mapbox 的产品定位是随时随地的 GIS(跨平台、应用),它为我们提供了一系列的简单操作的 API,使得 GIS 开发变得灵活而有趣。尤其对于开发 GIS 类型的数据可视化应用,Mapbox 是绝佳的选择。它根据不同的平台有不同的开发SDK Mapbox使用方法:https://jingyan.baidu.com/article/6766299792a06f54d41b8451.htmlWeb端可视化Demo演示:https://uber.github.io/deck.gl/#/
4、Android+webservice在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。在Android中适合WebService的SDK有一些,比较常用的有Ksoap2Ksoap使用方法:https://www.cnblogs.com/spring87/p/4368745.htmlAndroid GIS +webservice帮助汇总https://blog.csdn.net/weixin_34074740/article/details/85696874
5、Android数据库使用
(1)、SQLiteSQLite体量小,占用内存底的情况符合Android开发的情况,目前来看Android开发数据库首推SQLite,并且能够满足系统的要求。Android中对数据库进行操作的相关的借口、类等都在andorid.database和android.database.sqlite两个包里面。里面存在着很多的与数据库操作相关的类
(2)、其他数据库框架OrmLite、LitePal、GreenDao3.2等具体介绍见:https://blog.csdn.net/da_caoyuan/article/details/614146266、
技术路线假设微信小程序不能满足一个管网系统的可视化要求,而Android平台的各项GIS可视化技术已经趋于成熟,而且呈现出国内国外软件市场竞争火热的态势。对于管网系统技术路线目前提出如下假设:设计软件使用Balsamiq开发平台选择Android StudioGIS可视化技术选择 ArcGIS Runtime SDK for Android 或MapboxAndroid+webservice 使用Ksoap2数据库使用 SQLite。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值