摘要:针对我国一些平原地区农忙时期租用农机不方便的问题, 设计一款基于Android系统的农机调度管理平台。根据农民和农机主的作业需求, 对该系统进行功能分析, 并利用面向对象的方法进行系统设计。综合运用HTML5、Java开发语言、百度地图技术和Bmob云技术, 建立一个农民、农机主、管理员三端交互的农机调度管理平台。
关键词:Android; 农民; 农机主; 订单; 百度地图; Bmob云;
Abstract:Aiming at the inconvenience of renting agricultural machinery during busy farming seasons in some plain areas of China, we design this Android based agricultural machinery dispatching management platform.According to the needs of farmers and agricultural machinery owners, we analyze the function of the systemand use the object-oriented method to design the system.By using HTML5, Java development language, Baidu map technology and Bmob cloud technology, we build a three terminal interactive agricultural machinery dispatching and management platform for farmers, agricultural machinery owners and administrators.
Keyword:Android; farmer; agricultural machinery owners; order; Baidu maps; Bmob;
由于农机购置价格昂贵、闲置率高, 越来越多的农民开始选择农机租赁服务, 而非自购。但是农民和农机主之间的信息不畅通直接导致了较大的农机供需缺口。近年来, “互联网+”的出现拉动了传统行业的发展[1], 充分发挥互联网在农业特别是农机资源配置中的优化和集成作用十分必要。针对这个问题, 本文基于O2O思想, 提出一种将互联网和农业装备、作业生产、管理服务深度融合的农机调度管理平台。
1、需求分析
本系统总体任务是实现农民与农机主之间租赁关系的便捷化, 管理员可通过web后台管理端对农机租赁服务进行规范化管理与订单数据的统计分析。就此对系统功能进行需求分析, 得出以下三个模块:管理员模块、农民模块和农机主模块。
1) 管理员模块:添加、删除业务管理员、登录、订单查询、审核农机信息、删除过期订单、查看各区域订单数量、查看评价、发送推送消息。
2) 农民模块:用户注册与登录、修改用户密码、查看附近农机、预约农机、确认预接单、填写农民信息、订单评价。
3) 农机主模块:用户注册与登录、用户密码修改、填写相应农机信息、分类查询订单、预接单与接单、推荐路线。
2、系统功能设计
本系统包括手机APP农民端、农机主端, 以及web后台管理端。其中, 为方便用户基于地图的直观操作, 调用了百度地图API[2];后台使用Bmob云服务, 使移动开发更加便捷[3], 包括云数据库、云端推送等服务。APP端主要通过Windows下的Eclipse平台开发, 集成了Android SDK和ADT, 开发语言为Java[4]。APP端主要功能如下。
1) 农民发布需求:发布需求有两种方式, 一种是在地图上查找附近农机, 另一种是直接填写需求发布, 此时发布的需求对所有注册在系统中的农机主可见。
2) 农民订单查询与操作:订单界面可以选择广播单和指定单, 广播单指农民直接发布的需求订单, 指定单指农民通过地图选择农机主产生的订单。对于广播单, 农民可以查看预接单表, 选择最优农机主接单, 选定接单人后, 该单便进入指定单列表;对于指定单内容, 农民可以对已完成的订单进行评价。
3) 农机主订单查询与操作:农机主可以通过指定位置、作业方式、价格、面积查询相应订单。对于指定单, 农机主可以直接接单并查看到达路线;对于其他类型单, 农机主可以进行预接单, 预接单个数根据农机主所拥有的机器数来决定。
4) 农机主查询路线:农机主可以点击查询订单路线跳转到地图界面, 选取出发位置查询到达路线。
web管理端主要使用HTML、Bootstrap框架以及JavaScript技术开发[5]。JavaScript是一种基于对象和事件驱动的脚本语言, 有很好的安全性, 它无需编译便可直接通过浏览器的解释器执行[6]。本系统后台管理端主要通过JavaScript访问Bmob云数据库。web端主要功能如下。
1) 审核农机信息:管理员可以查询并审核农机主填写的农机信息, 审核通过方可接单。
2) 订单查询与操作:管理员可以查询已完成订单、待接订单和已接订单, 并可以删除待接订单中发布时间超过一天的订单。
3) 查询评价:管理员可以查询所有评价信息。
4) 统计分析订单数量:管理员可以对订单信息进行统计分析, 通过柱状图、折线图等多种形式展现。
5) 管理员添加与删除:系统管理员可以添加和删除业务管理员。
3、流程图设计
3.1、农民查询与评价订单
农民查询与评价订单流程图如图1所示。
图1 农民查询与评价订单流程图
农民进入订单界面, 可以选择查询当前登录用户发布的所有指定单或广播单。点击广播单可以进行预接单, 选择评分较高的农机主来接单, 点击已接单可以评价订单。
3.2、农民发布需求
农民进入地图界面, 显示到当前定位位置, 并显示周围农机。通过长按地图上的农田位置选取坐标。点击农机所处位置可查询农机信息, 确定后点击预约按钮, 填写需求并发布。或者直接点击发布需求, 填写需求并发布。农民发布需求流程如图2所示。
图2 农民发布需求流程图
3.3、农机主查询路线
农机主进入地图界面, 显示当前定位位置, 在菜单中点击填写农机信息, 并提交至管理员审核。农机主在获取订单位置后, 可通过长按地图选取出发位置, 点击查询路线显示路线。农机主查询路线流程如图3所示。
图3 农机主查询路线流程图
3.4、农机主查询与接受订单
农机主查询与接受订单流程如图4所示。
图4 农机主查询与接受订单流程图
农机主点击订单进入订单界面, 选择指定订单, 进行查询所有已指定的订单, 可接受订单和查看路线。
选择面积、价格等筛选条件则可以按类别查找相应的广播单, 点击后即可预接单。
3.5、管理员管理订单、用户
管理员系统管理流程图如图5所示。
管理员登录管理员界面后, 可以对农机信息进行审核。
管理员可以查看系统中的所有订单, 包括待接订单、已完成订单等, 也可以删除超过作业时间的待接订单, 并对订单信息进行统计与分析。
此外, 管理员还可以增加、删除业务管理员, 查看用户个人信息与评价信息, 对用户权限进行修改。
图5 管理员系统管理流程图
4、数据库设计
数据库设计中概念结构设计的核心是“实体—关系” (E-R) 模型设计[7], E-R模型提供了表示实体、属性和联系的方法, 是用来描述某一组织 (单位) 的概念模型。
实体、关系和属性是构成E-R模型的基本要素。实体指可以相互区分并且客观存在的事物;关系指实体间或实体内部的一种联系;属性指实体所具有的每一个特性。
本系统根据需求分析, 提取出农民、农机主、订单、需求、评价、管理员、预接单、农机信息、农机主信息等实体, 围绕着订单与需求, 将农机主、农民以及管理员紧密联系在一起。数据库是实体与关系模式对应, 实体属性即关系属性, 这些属性就是每个表的列。
考虑实体间统一性和联系, 将系统E-R模型转换, 得到用户表、预接单表、农民信息表、评价表、农机表、需求表、推送表、管理员表, 共8张表。
所有实体之间的关系如图6所示。
图6 系统E-R图
5、主要功能实现
5.1、地图功能的实现
地图功能的实现用到了百度地图API, 通过调用SDK, 配置系统文件, 访问百度地图的服务和数据, 实现相应的功能[8]。本系统主要用到了地图显示、地图定位、路线规划等功能。
地图功能实现核心代码如下。
附近农机查询界面如图7所示。路线推荐界面如图8所示。
图7 附近农机查询界面
图8 路线推荐界面
5.2、订单管理功能的实现
订单管理是本系统的核心交互功能。在对订单的选择上, 本系统主要利用ListView控件实现以下拉框的形式对订单类型进行分类筛选[9]。农民发布需求界面如图9所示, 农机主分类查询界面如图10所示。核心代码如下。
图9 农民发布需求界面
图10 农机主分类查询界面
5.3、Bmob云服务的实现
Bmob云是一款集数据库与服务器为一体的后端平台, 在获取AplicationID后, 可导入相应的SDK到Eclipse工程文件, 在manifest填写相应的权限即可访问云数据库并添加一些功能[10]。推送服务程序如下。
Bmob云推送界面如图11所示。
图11 Bmob云推送界面
6、结束语
本文综合运用HTML5、Java开发语言、百度地图技术和Bmob云技术, 建立了一个农民、农机主、管理员三端交互的农机调度管理平台, 为农民和农机主提供了一个网上农机服务业务洽谈平台, 并提供了对订单数据的统计分析服务, 一定程度上解决了因供需双方信息不畅而导致的较大的农机供需缺口的问题。将传统农业与高新技术相融合, 充分发挥互联网在农业, 特别是农机资源配置中的优化和集成作用, 利用互联网创新成果推动了新型农业发展[11]。
参考文献
[1]张周平.“互联网+传统行业”助力经济转型腾飞[J].浙江经济, 2015, (11) :25~27.
[2]李骁.百度地图API在Android中的配置和应用[J].计算机光盘软件与应用, 2015, (2) :37~38.
[3]周冉, 高玉竹.Bmob云平台在Android App开发中的应用[J].微型机与应用, 2015, 34 (1) :26~28.Zhou Ran, GaoYuzhu.Application of Bmob cloud platform in Android App development[J].Microcomputer&Its Applications, 2015, 34 (1) :26~28.
[4]张国防, 白晓波, 孙超.基于Android的APP开发平台的搭建[J].通讯世界, 2015, (12) :68~69.
[5]Radford S.Learning web development with bootstrap and angular[M].Packt Publishing, 2015.
[6]陈会安.JavaScript基础与实例教程[M].北京:中国电力出版社, 2007.
[7]温杰.数据库设计中E-R模型设计的探究[J].无线互联科技, 2014, (8) :167~168.Wen Jie.In the design of database E-R model design of the probe[J].Wuxian Hulian Keji, 2014, (8) :167~168.
[8]施连敏, 盖之华.基于Android的百度地图应用的搭建[J].技术研发, 2014, 12 (8) :34~38.
[9]孔令宏.Android中的ListView控件的优化方法[J].电子技术与软件工程, 2013, (21) :270.
[10]杨硕珩, 白如博, 门士尧, 等.Bmob后端云在Android即时通讯APP开发中的应用[J].山西电子技术, 2017, (6) :59~61.Yang Shuoheng, Bai Rubo, Men Shiyao, et al.Application of Bmob back cloud in Android IM APP development[J].Shanxi Electronic Technology, 2017, (6) :59~61.
[11]陈永志.“互联网+”时代开启农机电商浪潮[J].现代农业装备, 2015, (2) :1.