Polar MappingApp开发说明文档

前端开发

APP开发


浏览:1206 次

1.编制目的

1.1目的

本文档描述了测绘App的设计思想,以及每个部分开发过程中的注意事项。

1.2读者

前端开发工程师、产品经理、项目经理、Android开发工程师和利益相关者

1.3术语

JS(JavaScript):脚本语言

2.框架设计

图片.png

3.模块设计

3.1登录

出于安全原因,帐户密码只需要验证删除空白后的内容是否为空,然后允许登录请求操作。如果登录失败,将直接显示服务器返回的消息消息,以避免给出特定的规则提示(例如,密码不能少于6位,并且必须包括大写和小写提示)。

3.2主页

显示地图App的主页和新的地图入口。

3.2.1检查版本更新

登录后,将其提交给服务器,以根据软件的VersionCode参数检查软件版本。服务器返回以下结果:

不提示更新(只有在个人中心页面上手动检查更新时才会显示新版本升级对话框)

提示更新(弹出窗口,用户可以取消)

强制更新(弹出窗口,用户取消并直接退出App)

它是最新版本(只有个人中心页面上的手动检查更新显示它是最新版)

3.2.2获取位置许可

因为在Android 6.0之后,所有设备都需要动态获取权限,并且主界面需要动态获取ACCESS_FINE_LOCATION、ACCESS_ COARSE_ LOCATION权限。如果用户选择拒绝权限授予,App将无法正常工作,并将直接退出当前App。下次进入App时,需要再次弹出提示以授予权限。只有在完全授予位置权限后,您才能继续App的后续操作。此功能过程可以在AndPermission API的帮助下完成。

3.2.3主页内容初始化

主页内容初始化过程如下(3.2.2访问位置权限是先决条件):

通过Goddard SDK获取测绘App的准确经纬度信息

将获得的经纬度信息提交给控制服务器,以获得最近基站的信息

将从地图App获取的经纬度信息和基站的经纬信息提交到H5地图页面,并在地图中显示当前位置和基站图标。

3.2.4侧栏显示

图片.png

通过android.support.v4.widget DrawerLayout控件(多种实现方法,仅供参考)。默认的侧滑行为是整个屏幕。因为主页加载H5地图,所以该页面将涉及地图的放大、缩小和翻译等操作。与侧滑响应事件存在冲突,因此需要屏幕处理。弹出事件只能通过左上角的图标完成。

3.3绘图

这是测绘app的核心功能模块,涉及边界、障碍物测绘、地块上传等功能

3.3.1绘图页面设计

图片.png

当前活动布局分为上下两部分。屏幕高度由WebView+布局容器组成,比例为6:4。WebView用于加载地图的H5页面,布局容器加载相应的片段。由于涉及本地内容更新,映射模块的所有功能和菜单切换都使用Fragment完成。

对于WebView加载的H5地图,其所在的活动页面与下面的片段数据交互。RxBinding将用于实时观察数据源的状态,以保存健壮性验证码,同步调整按钮的启用属性,并通过RxJava中的PublishSubject实现多级数据传输。尽管EventBus专门用于处理这项工作,但为了项目的简单性,它是一项原则,即尽量减少项目中重复功能的代码的参与,因此这里省略了它。

3.3.2 H5页面JS交互界面详情:

3.3.2.1 Android与H5的接口

初始化接口

描述

locationBaseStation(字符串纬度,字符串经度)

基站的位置如地图所示#

locationCenter(字符串纬度,字符串经度)

用传入坐标定位地图的中心点#

showArea(字符串jsonPoint)

以以下格式显示边界点和障碍物

switchShowDistance(布尔isShow)

默认情况下,显示边界距离开关处于关闭状态

startSurveyActive(boolea