邓丽萍
摘 要: 智能手机数据采集相比传统数据采集在时效性等方面具有优势。基于“基层农业统计数据采集与处理系统”的需求,在Android平台上,依据分层开发思想,详细设计了数据库适配器、数据层、结构层以及activity等,最终完成了软件系统的开发,为农业技术人员提供了易用、可靠的基层农业统计数据采集和处理工具。
关键词: Android; 应用开发; 农业信息化; 界面设计
中图分类号:TP3 文献标志码:A 文章编号:1006-8228(2018)02-10-04
Abstract: The data acquisition with smart phone is superior to traditional data acquisition in the aspects of timeliness and so on. According to the requirement of "the acquisition and processing system of the grass-roots level agricultural statistical data", on the Android platform, with the idea of layered development, the database adapter, the data layer, structure layer and the activity etc. are designed in detail, to finally complete the development of the software system, provide agriculture technical personnel with an agricultural statistical data acquisition and processing tool of easy to use and reliable.
Key words: Android; application development; agricultural information; interface design
0 引言
农业信息化的意义显而易见[1],但是由于多方面的原因,农业信息化进程远远落后于服务业、工商业等各领域。这对农民以及农业的发展是十分不利的。
基层农业统计数据采集与处理系统是在Android操作系统的基础上开发而成。该系统通过Android智能手机获取与农业生产有关的信息,如地块档案、农户信息、地块制度、农村等各类信息。通过该系统,可以让基层农业信息化工作人员方便地建立和管理数据库。农技人员可基于农业生产环境,实时、快速地获取与农业生产有关的数据。
1 开发环境及技術介绍
Android系统在中国的普及范围大且速度快,搭载Android系统的移动设备价格合适,在农业技术推广体系中使用较多,且能满足系统设计需求,是智能手机开发的首选平台。
Android是一种以Linux为基础的开放源代码操作系统[2],主要使用于便携设备。Android操作系统可细分为如下几部分:应用软件、操作系统、用户界面、中件间。Android平台可依次分为如下四层:Linux内核层;Android运行层;应用框架层;应用程序层。基于Android的软件的开发通常处于Android架构中的顶层,即应用程序层。
本系统是针对Android系统研发的一款移动应用,需要的开发工具分别为:Eclipse、Android SDK。
2 系统总体设计
2.1 系统体系结构
结合本系统的基本功能以及Android架构[3]特点,开发分如下四个层次。
XML:界面设计,具体设计时主要运用/res/layout/中的.xml文件,运用该文件布局控件、控制属性、自定义控件样式。在设置版本信息方面时,主要运用
/AndroidManifest.xml,即形成Android API信息。逐个声明Activity、申请客户使用资源,另外程序中用到的中文单词则主要结合strings.xml声明。利用arrays.xml逐个设置列表各项元素。
View:本层属于人机交互界面,包含本系统中所需要运用到的所有Activity。用户可通过Activity进行相关操作,比如输入数据,确定数据项,最后点击,即可获得相关信息。
Data与Adapter:一般认为该层为数据库及其适配器层。主要用于建立农业生产信息数据库,同时该层包括更新及相关方法,Adapter中含所有适配器Adapter,显示数据库Activity的信息。在ListView控件记录时,需要运用到各显示数据表。
Table:属于数据表层。利用Entity存储数据表各字段名及类型。一般情况下Data层不会因为本层发生变化而变化,因此适用于分层开发。
如图1为本系统的体系结构图。
由此分析软件体系结构[4],在具体设计时,可将系统分为五个包:XML;View;Adapter;Data;Table。这五个包是有自上而下的依赖关系,分别对应view包、data包、data包、adapter包和table包。如图2为该软件系统包图。
2.2 系统流程图
农业技术人员登录Android客户端执行数据采集,首先要在客户端应用汇总获取数据,并上传到Web服务器中,经过Web服务器对数据进行处理后对数据进行存储,并向客户端发出反馈信息,以标识采集任务完成。系统的流程图如图3所示。
3 详细设计endprint
3.1 各功能模块描述
基于Android的农业数据采集与处理系统主要功能分为两大类:工作类和交流类。工作类数据采集包括:提交推广日志、上报灾情、采集价格信息等;交流类数据采集包括农技问答、经验交流和问题反馈等。
3.1.1 用户模块
系统的用户类型[5]分为未授权用户(注册)、普通用户、管理员以及超级管理员。
未授权用户:需管理员授权后才能使用系统。
普通用户:能上传数据,查看历年数据。
管理员:能修改除超级管理员以外的所有用户的权限,以及删除用户操作,能查看数据,给所有用户发送手机消息提醒。
超级管理员:与管理员相比,多了能对管理员进行设置权限的操作。
⑴ 创建用户
在客户端任何人都能新增角色,但权限为未授权用户,需管理员来修改权限。
⑵ 用户登录
登录输入错误时进行用户名或密码错误的相应提示,权限不足时提示没有权限进行此操作的提示。
⑶ 用户管理
管理员能对未授权用户和普通用户,更改他们的权限或者删除用户,而超级管理员能对管理员、普通用户和未授权用户,修改他们的权限或者删除用户。
3.1.2 数据模块
普通用户选取好需要录入数据的区域和农作物种类(保存在服务器上,如果没有需添加)后,选择相应的季节(春、夏、秋、冬)和行为(播种、收获),并填写相应的信息,提交至服务器,此时如果数据和去年同期数据比较波动幅度超过10%则需填写备注信息。
3.1.3 數据查看模块
用户或者管理员在选取好需要查看的区域和农作物种类后,能在客户端上获取到对应信息的历年收获数据。
3.1.4 个人中心模块
用户或者管理员,在登录后的主页面中进入个人中心后,能按自己的喜好和需求来修改密码或者手机号。
3.1.5 用户提醒模块
管理员在网页上登录成功后能对所有用户发送自定义的提醒内容,也可以对特定用户发送自定义提醒内容,该提醒会出现在安卓手机的通知栏上。
3.2 系统功能图
⑴ 系统功能总图(如图4)
3.3 数据结构设计
结合用例分析和需求分析,构成系统的数据[6]主要包括如下几部分:
⑴ 用户表users(具体包含用户名、ID以及姓名、密码手机号码,权限);
⑵ 地区表zone(地区ID、地区名称);
⑶ 村庄表village(村落ID,村落名称,地区ID);
⑷ 种类表kind(种类ID,种类名称);
⑸ 农作物名称表crop(农作物ID,农作物名称,种类ID);
⑹ 用户个性化表marks(ID,用户ID,村落ID,农作物ID);
⑺ 农作物播种表sow(播种ID,年份,季度,村落ID,农作物ID,播种面积,备注,用户ID,上传日期);
⑻ 农作物收获表gains(收获ID,年份,季度,村落ID,农作物ID,面积,产量,亩产量,备注,用户ID,上传日期)。
4 系统实现举例
基于Android的基层农业统计数据采集与处理系统,通过安装Android移动设备中的应用程序与用户进行直接交互,Android端的应用程序采取本地化开发模式,在移动终端获取数据,结合移动端的界面设计,通过编码来实现满足用户采集需求的相关功能,将数据传送至服务器,在服务器端网页和Android端应用程序界面都可浏览相关采集信息,并能够执行回复、评论等信息交互操作。
4.1 登录模块
用户打开软件后立即显示登录页面,需要输入用户名、密码后点击登录,成功登录后进入操作页面。输入错误出现提示并需重新输入。登录界面如图7所示。
登录模块通过Android端Login Activiy类中的 click Login()方法(图),将登录信息传送至Login Utils类中的线程run()方法去执行登录验证请求,Server 端Login Action类中的client Login()方法对信息进行验证。代码片段如图8所示。
4.2 消息提醒模块
管理员能够对所有用户或者特殊用户发送提醒[7],并且会在智能手机的通知栏显示出来,如图9。
5 结束语
本文基于采集统计农业数据以及处理系统需求,结合Android、移动通信技术,以及农业信息化等实际需求,综合利用无线网络和智能移动设备的优势,为农业技术人员提供现代化、智能化、便携式、易用、可靠的基层农业统计数据采集和处理工具。
我们在研究移动开发及农业信息化方面取得了一定成绩[8],基于Android智能手机初步构建了基层农业统计采集与处理系统。但是由于各方面原因,系统依然存在诸多不足之处。比如数据采集内容方面,需进一步丰富基层农业数据采集的内容和形式;系统架构设计方面,还需加强服务器端的承载能力;在数据传输控制方面,要深入研究传输中断情况的数据传输策略等。
参考文献(References):
[1] 尚明华,秦磊磊,王风云,刘淑云,张晓艳.基于 Android智能手机的小麦生产风险信息采集系统[J].农业工程学报,2011.27(5):178-180
[2] 张磊.Android平台的应用开发研究[J].计算机光盘软件与应用,2011.9(17):211-213
[3] 李摇杨,冯摇刚,李摇亮,罗拥华.基于 Android 的多媒体应用开发与研究[J].计算机与现代化,2011.1(4):149-152
[4] 王一妹.基于Android系统的气象灾情手机直报平台的设计开发[J].安徽农业科学,2013.41(20):8773-8776
[5] 胡纪通.建设精准型农业基础大数据的保障性工作机制[J].信息技术与信息化,2017.9:20-21
[6] 廖建尚,卢斯.基于Android系统智能网关型农业物联网设计和实现[J].中国农业科技导报,2017.19(6):61-71
[7] 刘传茂,王熙.农机数据采集传输系统的设计与实现——基于CAN总线[J].农机化研究,2016.38(12):207-211
[8] 孙小华,王福顺,杨会英,赵艳,王风国.基于智能手机的农业信息服务系统研究[J].科技和产业,2013.13(6):33-36endprint