“fullLoad” app(一)之介绍

来源:互联网 发布:淘宝买东西寄到英国 编辑:程序博客网 时间:2024/05/16 18:28

技术分析

本项目全称为“fullLoad” 地理信息平台支持下的车货匹配智能信息交换监控平台解决方案,集成了多个第三方库以完善系统的功能,包括登录/注册模块的Mob短信验证、LBS模块的百度地图、车货匹配模块腾讯信鸽推送。
我将分别在以下文章中详细介绍第三库的集成与使用:
“fullLoad”app(二)之底部导航功能实现
“fullLoad”app(三)之Mob短信验证的集成


项目需求

  • 各移动目标GPS获取、记录存储
  • 车主以图片及文字形式发布(半)空车信息,包括车辆情况,可装货品重量、体积、类别、起始点及中途点等
  • 车主可查询待运货物信息
  • 货主以图片及文字形式发布货物信息,主要包括货物类型,重量,体积,起点终点城市等
  • 货主可查询空车信息,交易达成后实时查看货物位置
  • 货物位置以地图形式展示,达成交易的车主可通过定位导航前往取货,并通过导航送货
  • 平台推荐车货匹配(可设计实现自动匹配算法(此部分选做),未实现匹配算法者后台手工模拟匹配),并推送信息告知货主、车主

页面执行逻辑设计

此项目涉及到两类用户:车主与货主,因此,在用户登录进入系统后,根据其用户类型,呈现不同样式的界面,提供不同类型的服务。下图是基本的页面执行流程(为方便前期研究,对复杂功能模块未进行展开):
基本流程

UI界面原型设计

登录

登录界面

注册

注册页面

主界面

主界面-车主

顺序图设计

fullLoad顺序图

移动端命名规范

资源文件

  • 图片命名
    如果是大图片(占屏幕比例30%),img_{所属模块}_xx;
    如果是小图标(包括按钮图标,app图标等),ic_{所属模块}_xx
  • Layout命名
    如果是主要界面的activity,activity_{界面功能|所属模块};
    如果是fragment,fragment_{所属模块}_xx;
    如果是item(ListView、RecyclerView等的item),item_lv_{所属模块}_xx;
    Item_rv_{所属模块}_xx;其中lv和rv是ListView和RecyclerView缩写。
  • 控件Widget命名
    对于Android的控件,一般缩写每个单词的首字母
    比如ImageView->iv
    WebView->wv
    TextView->tv
    以此类推
    但是对于Button这个控件,缩写为btn

Java文件的命名

  • 目录结构
    在project\app\src\main\java{项目路径}下,按照需求建立以下几个Package
    目录结构
    Adapter文件夹下是各种适配器
    App文件夹下整个项目通用的类,比如MyApplication类或者常量类Constants
    Bean文件夹下是一些简单的javabean
    Broadcast文件夹下是广播
    Db文件夹放有关数据库的java文件,如果有联网操作,可在建立db\net来管理网络相关的java文件
    Service文件夹下是服务类
    Ui则放置activity文件,如果有fragment或者menu,则也可以建立ui\fragment和ui\menu
    Util文件夹下是项目中用到的工具类
  • Java文件命名
    一般规则:功能描述性单词(首字母大写){所属功能模块}后紧跟类型
    如:MainActivity、Desc_Food_Fragment(食物详情碎片)、InboxAdapter(收件箱适配器)
    其中,当功能描述性单词就代表着所属模块时,中间的所属模块可省略。

项目开发环境

AndroidStudio 2.3.3
java jdk1.8