充电桩软件设计文档androidWord格式.docx
《充电桩软件设计文档androidWord格式.docx》由会员分享,可在线阅读,更多相关《充电桩软件设计文档androidWord格式.docx(16页珍藏版)》请在冰豆网上搜索。
2.2.1.3预约确认界面
2.2.1.3预约列表界面
14
2.2.2充电流程详细设计
2.2.2.1二维码及手动输入界面
2.2.2.2确认桩站信息界面
15
2.2.2.3选择充电方式界面
2.2.2.4支付界面
2.2.2.5等待插枪界面
16
2.2.2.6充电监控界面
1
简介
.1目的
该文档主要用于项目交接的成员及项目交付的开发人员之间,使得项目得以无缝的交接完成。
应用人员为动企内容开发人员及商连商用的项目交接人员。
.2范围
.1软件名称
深圳充项目
.2软件功能
可参照设计原型图
.3软件应用
软件主要应用于对深圳地区的充电桩站进行预约与充电。
2
概要设计
.1模块设计描述
.1软件模块的划分及定义:
以底部菜单栏功能划分模块,分别主页,扫码充电,发现及我的模块
.2软件源码包名解释及作用
注:
以下源码包名前缀省略com.dongqi.chargepile
源码包名
功能划分
common.config
全局性app连接配置信息
common.exception
app异常捕获后的统一处理逻辑
config
app需使用全局常量
controller.activity
非模块性的界面代码(如登录,注册页等)
controller.activity.discovery
发现模块的界面代码
controller.activity.home
主页地图模块的界面代码
controller.activity.my
我的模块界面代码
controller.activity.scan
扫码充电模块界面代码
controller.core
全局服务,监听器及程序级Application
model.adapter
数据填充适配器
model.bean
Javabean
model.bitmap
图片缓存处理
model.cache
App缓存处理
model.camera
程序照相机处理
model.decode
加解密处理
model.http
http连接处理
model.receiver
网络连接监听器
model.task
代理及mqtt推送处理
model.upgrade
程序更新处理
utils
程序使用工具类
utils.baidu
XX地图协助工具
monbiz
请求数据接口业务处理及回调
utils.roundedimageview
圆形图片处理
widget
程序使用自定义控件
widget.ptr
上下拖拽刷新控件集
widget.pulltorefresh
上下拖拽刷新协助类
widget.spinner
自定义下拉框控件
widget.swipemenulistview
自定义滑动删除控件
widget.viewbadger
自定义右上角标记控件
widget.wheel
自定义滚轮选择控件
.3界面级代码类命名说明
1)非模块性的界面代码
GuideActivity.java
初次安装引导界面
InitActivity.java
初始化logo界面
LoginActivity.java
登录界面
MainActivity.java
主界面包含4个Fragment
RegeditActivity.java
注册界面
2)发现模块的界面代码
DiscoveryFragment.java
发现fragment界面
InformationActivity.java
资讯界面
InformationDetailActivity.java
资讯详情界面
OperatorPhoneActivity.java
运营商电话界面
RepairActivity.java
维修界面
RescueActivity.java
救援界面
SearchMostActivity.java
列表选择充电站界面
SuggestionActivity.java
投诉及建议界面
3)主页地图模块的界面代码
AppointAllotingActivity.java
预约等待分配中界面
AppointConditionActivity.java
设置条件界面
AppointConfirmActivity.java
预约确认界面
AppointNofoundActivity.java
找不到合适充电站提示界面
FeeDetailActivity.java
电费详情界面
GetDataHelper.java
构造请求参数协助类
HomeFragment.java
主页fragment界面
MyOrientationListener.java
地图方向传感监控管理类
PileActivity.java
充电桩详情界面(暂未使用)
StationSearch.java
站点搜索界面
4)我的模块界面代码
AboutUsActivity.java
关于我们界面
AccountSecurityActivity.java
账户安全界面
AccoutSetPayActivity.java
初次设置支付密码界面
AddBindBankCardActivity.java
绑定银行卡界面(暂未使用)
AddMyEvaluationActivity.java
添加充电订单评价界面
BankCardRecordActivity.java
银行卡列表界面(暂未使用)
BillingActivity.java
充电计费中等待界面
BindBankCardActivity.java
ChargeHelperActivity.java
充电帮助界面
CollectionActivity.java
我的收藏界面
CollectionConditionActivity.java
从收藏预约设置条件界面
CollectionStakeListActivity.java
桩站详情界面(暂未使用)
MessageDetailActivity.java
消息详情界面
MessageNotificationActivity.java
消息通知列表界面
MyAccountCharge.java
账户充值界面
MyAllowanceActivity.java
充电卡补贴额度界面
MyAppointDetail.java
我的预约详情界面
MyBind_Step1.java
解绑充电-输入支付密码验证界面
MyCarActivity.java
我的车辆类别界面
MyCarAddActivity.java
添加车辆界面
MyCarAuthentActivity.java
车辆认证界面
MyChargeActivity.java
我的充电列表界面
MyChargeCardActivity.java
我的充电卡列表界面
MyChargeCardBindActivity.java
绑定充点卡界面
MyChargeDetailActivity.java
我的充电详情界面
MyFragment.java
我的fragment界面
MyInfoActivity.java
我的资料界面
MyInfoAeraSelect.java
我的资料-弹框选择所在地界面
MyReservationActivity.java
我的预约列表界面
MyTransactionRecordsActivity.java
我的交易记录列表界面
NoticeActivity.java
消息提醒界面(暂未使用)
ResetLoginPwdActivity.java
重置登录密码界面
ResetPayPwdActivity.java
重置支付密码界面
SelectAeraActivity.java
弹框选择地区界面
SelectDistrictActivity.java
SelectDrivePicActivity.java
驾驶证示例弹框界面
SelectFilterActivity.java
我的预约筛选弹框界面
SelectPicActivity.java
选择图片弹框界面
SelectSexActivity.java
选择性别弹框界面
SettingActivity.java
设置界面
SettingNewLoginPwdActivity.java
设置新登录密码界面
SettingPayPwdActivity.java
设置新支付密码界面
ShowMyEvaluationActivity.java
展示充电订单评价界面
UnionPayActivity.java
银联在线支付界面
UpdateLoginPwdActivity.java
修改登录密码界面
UpdatePayPwdActivity.java
修改支付密码界面
5)扫码充电模块界面代码
CaptureActivity.java
扫描电桩编号/二维码界面
ChargingActivity.java
充电中监控界面
ChargingEndActivity.java
充电结束提示界面
ChargingModeActivity.java
选择充电方式界面
InputCodeEncodingActivity.java
手动输入电桩编号界面
InsertChargingGunActivity.java
等待插枪充电界面
PayActivity.java
充电支付界面
PayResultsActivity.java
支付结果界面
PostStationActivity.java
确认充电桩界面
ScanFragment.java
扫码充电fragment界面(暂未使用)
3详细设计
此处主要列举预约及充电流程涉及的代码逻辑,其余基本列表查看逻辑不一一说明,详细可参照代码中注释。
预约流程详细设计
拖动地图搜索出指定范围内的充电站,或以列表形式查看附近充电站,点击充电站点信息中的预约按钮,进入预约等待分配界面;
得到分配的充电桩后,进入充电桩预约确认界面,可选择确认与取消预约;
预约成功后,在我的预约列表出会有一条预约中状态的订单。
地图模式筛选充电站(HomeFragment.java)
1.mHandler
Constr.HANDLER_NAV:
程序通知处理导航事件,可按实际调用XXsdk或高德sdk提供的导航服务
Constr.HANDLER_APPOINT:
程序通知处理预约申请事件,通过checkLoginstate方法判断登录是否已登录,最后构造接口json参数,调用预约申请接口
Constr.HANDLER_COLL:
程序通知处理收藏站点事件,通过checkLoginstate方法判断登录是否已登录,最后构造接口json参数,调用收藏某指定充电站接口
Constr.HANDLER_COLL_OK:
收藏成功回调,更新站点的是否收藏的图标
Constr.HANDLER_UNCOLL:
程序通知处理取消收藏站点事件,通过checkLoginstate方法判断登录是否已登录,最后构造接口json参数,调用收藏某指定充电站接口
Constr.HANDLER_UNCOLL_OK:
取消收藏成功回调,更新站点的是否收藏的图标
Constr.HANDLER_FEE:
程序通知调用打开电费详情界面
Constr.MSG_STATIONCOUNT_GET:
程序通知获取充电站数量统计成功回调
Nou:
程序通知进行按钮波浪效果动画
NouStop:
程序通知结束动画,并跳转到预约设置条件界面
EmptyLayout.NETWORK_ERROR:
程序通知网络出现异常,站点列表模式下出现异常界面
EmptyLayout.NETWORK_LOADING:
程序通知加载中,站点列表模式下出现加载中界面
EmptyLayout.NODATA_ENABLE_CLICK:
程序通知无数据,站点列表模式下出现无数据界面
EmptyLayout.HIDE_LAYOUT:
程序通知加载成功,站点列表模式下正常界面
LOADDATA:
程序通知,重新加载充电站数据,调用查询充电站接口
2.reloaddata函数
构造请求参数,请求查询充电站列表信息接口
3.checkLoginstate函数
检查用户是否已登录状态,若未登录则跳转登录界面
4.onActivityResult函数
此处分两种情况
1)界面从站点搜索返回过来,则按条件重新加载充电站数据
2)界面从设置条件返回过来,则按条件重新加载充电站数据
5.initUI函数
初始化界面上的UI控件及注册控件的监听器。
6.regRecevier函数
注册广播,实现预约和导航功能的异步回调
7.initMap函数
初始化XX地图sdk,并注册基础事件
8.initMappoint函数
初始化地图站点,APP重新打开时判断条件站点是否需要重新加载
9.addStationsOverlay,addStationsOverlaywithpara函数
请求站点数据后,加载地图的标注点
10.addInfosOverlay函数
将获取的站点数据,以经纬度形式逐个添加到地图上,并自动缩放到一定的等级,使得需要的站点都显示在地图上。
11.autoSize函数
利用算法获取距离所有站点中点最远的距离,用于确定地图的缩放等级
12.loadListView函数
站点数据以当前位置的距离排序后填充进入列表。
13.initMarkerClickEvent函数
对地图标注点的点击事件处理,通知例如预约及导航,收藏的回调
14.rqServer,rqServerwithpara函数
构造站点列表数据请求的参数json
15.StstionCallBack函数
请求列表数据的http异步回调,实现添加标注点及填充列表数据。
16.rqApplyServer函数
构造预约申请接口请求的json参数
17.showFilterPopupWindow函数
列表形式的筛选下拉框的UI初始化
18.showpointFilterPopupWindow函数
地图形式的筛选下拉框UI初始化
19.Maplistener函数
监听XX地图的状态发生变化,实现拖动实时查询充电站列表
预约后等待分配充电站界面(AppointAllotingActivity.java)
1.initView函数
初始化UI控件,并通过传入intent检测预约条件参数,然后获取系统时间并进入倒数的状态。
2.iniCountDown函数
通过去系统时间和等待分配结束时间对比,产生时间差,以实现倒计时功能。
另倒计时中,每隔10s查询一次最新的分配信息。
预约确认界面(AppointConfirmActivity.java)
1.progressCancel函数
处理取消预约的操作函数,二次确认后请求取消预约接口。
2.progressSubmit函数
处理确认预约的操作函数,请求确认预约接口。
3.rqOrderServer函数
构造查询预约订单详情的接口json参数
4.ApplyconfirmCallBack函数
查询预约订单详情的回调函数,获取订单详情内容,并展示到界面中
5.iniCountDown函数
通过对比系统时间与订单详情中的确认超时时间,实现倒计时功能,并在倒计时结束时处理一些UI。
预约列表界面(MyReservationActivity.java)
1.rqServer函数
构造预约列表请求接口json参数。
2.submitCallBack函数
预约列表接口http回调,获取到数据后,填充列表,并利用系统时间与预约中的数据项中超时时间对比,实现倒计时。
3.rqOrdercancelServer函数
构造预约取消接口的请求json参数
4.ApplyCancelCallBack函数
预约取消的接口回调,提示用户预约取消成功
充电流程详细设计
进入扫码或手动输入二维码,进入站点确认信息,然后选择充电方式后,发起充电申请并进入等待插枪界面,当监控到充电状态发生变化,会实时跳转到充电中监控界面并定时查询最新状态,最后充电完成后可以到充电列表中查看历史数据。
二维码扫码界面(CaptureActivity.java)、
手动输入二维码(InputCodeEncodingActivity)
构造充电桩信息详细接口请求json数据
充电桩信息详细接口回调,获取到充电桩信息并跳转到站点确认界面。
确认桩站界面(PostStationActivity.java)
1.logic函数
通过上述两个界面传入的桩站信息参数,展示用户指定的充电桩站的详细信息。
选择充电方式界面(ChargingModeActivity.java)
1.focusChangeListener函数
当用户焦点不同时,切换不同的充电方式。
2.rqServer函数
构造充电申请的接口json参数
3.submitCallBack函数
查询充电申请的回调函数,通过传入充电方式及必要信息,发起一单新的充电订单。
支付界面(PayActivity.java)
展示充电订单基本数据,并查询出账号下的余额。
构造充电订单确认的接口json参数
充电订单成功付款后,跳转到等待插枪界面,并传入等待插枪所需的参数
等待插枪界面(InsertChargingGunActivity.java)
初始化UI,线程定时查询该充电订单的最新状态。
2.rqstatusServer函数
构造查询充电订单详情的接口json参数
3.statusCallBack函数
通过查询订单详情的订单状态,实现指定状态下(如充电中),跳转充电监控界面等逻辑操作。
充电监控界面(ChargingActivity.java)
初始化UI,通过intent获取订单号,线程定时查询该充电订单的最新详情,并实时展示到界面当中。
2.rqServer1函数
构造监控信息查询的接口json参数
3.submitCallBack1函数
通过查询监控信息,实现充电中监控界面的充电信息展示。