基于Android移动终端的河南省惠农客户端系统设计与实坝

时间:2022-10-22 13:48:02 教案设计 来源:网友投稿


打开文本图片集

摘要:为了满足涉农用户通过智能移动终端获取河南省综合农业信息服务的需求,在河南省中原农村信息港综合平台的基础上,采用Android、Java、Eclipse、XML、SAX等技术,设计开发了基于Android移动终端的河南省惠农客户端系统,实现了农业信息浏览、网络咨询、供求信息、专家在线及农作物远程诊断等应用。

关键词:农业信息服务:Android;惠农客户端:智能终端

0引言

当今世界已经进入全面信息社会,中国政府已将农业信息化作为重大国策。根据科技部、中组部和工信部的要求,结合河南农村信息化实际与发展需求,到2015年底,基本实现河南省农村信息服务的全覆盖。在此目标的推进下,河南省于2013年底开始进行河南省农村信息综合服务平台的建设,建立中原农村信息港综合门户平台系统,有效整合主要省内涉农网站、粮食、畜牧、新型农村社区、远程医疗、电子商务等农村信息服务,整合远程教育、惠农呼叫、数据分析与决策服务、农村信息化展示等信息的应用,为2000万河南农村人口提供直接的信息服务,为全国农村信息化建设提供经验和模式。同时,随着农村智能移动终端(手机、iPad等)拥有量持续高速增长以及农民对移动终端产品信息传播认可率的上升,基于智能移动终端的农业信息服务成为农村信息化的一个重要方式和渠道,因此,开发相应应用软件及提供相关移动服务显得尤为迫切。

本文针对河南省中原农村信息港综合平台,利用Java技术、Eclipse技术、XML交换及其SAX解析技术,实现了基于Android移动终端的河南省惠农客户端系统及其应用。通过该系统能及时准确地向农民提供农业政策、农业科技、农业价格等多方面的信息服务,助推农村农民生活方式的改变,培养新型农民,富裕农民,加速实现城乡管理模式创新,实现统筹城乡发展,加快河南省农业信息化的发展。

1关键技术

1.1Android技术

Android~Google开发的基于Linux平台的、开源的、智能手机操作系统。Android包括操作系统、中间件和应用程序,由于源代码开放,Android可以被移植到不同的硬件平台上。

Android采用四层架构模式:内核层、运行层、框架层、应用层。Android的第1层次由C语言实现,第2层次由C和/C++实现,第3、4层次主要由Java代码实现。第1层次和第2层次之间,从Linux操作系统的角度来来看,是内核空间与用户空间的分界线,第l层次运行于内核空间,第2、3、4层次运行于用户空间。第2层次和第3层次之间,是本地代码层和Java代码层的接口。第3层次和第4层次之间,是Android的系统API的接口,对于Android应用程序的开发,第3层次以下的内容是不可见的,仅考虑系统API即可。

在Android中,一个应用程序可以使用其它应用程序的组件,这是Android系统一个非常重要的特性。与其它大部分系统不同,运行在Android系统上的应用程序并没有一个应用程序入口点(类似java程序中的main方法)。相反,Android应用程序包含一些运行应用程序所必须的能够被Android系统实例化的组件。这些组件主要包括Activity、Service、broadcase receiver、content provider等。

1.2Java编程技术

Java编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(byte code),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。

1.3Eclipse技术

Eclipse是著名的跨平台的自由集成开发环境(IDE),它本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse的插件机制是轻型软件组件化架构。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API(sWT/Jface),

Java开发环境插件(JDT),插件开发环境(PDE)等。

1.4XML及其SAX解析技术

XML(Extensible Markup Language)可扩展标示语言是标准通用标识语言SGML的一个子集。XML因其简单性、可扩展性、自描述性和互操作性等特点,成为Internet上继HTML之后一种新的数据表示和交换标准,并呈现出逐步取代HTML的趋势。XML对HTML最大的改进之处在于,HTML面向显示的描述网页结构而XML是面向数据的。XML文档包含了数据的结构信息,语义信息以及内容信息,其良好的数据格式使其适应于各种类型的数据。

SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,而是按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否符合XML语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口,ContentHandler接口常用的方法有:startDocuments();endDocument();startElement(String namespaceU RI,StringlocalName,String qName,Attributes atts);endElement(String uri,String localName,Stringname);characters(charll ch,int start,intlength)等。

2系统设计

河南省惠农客户端系统是中原农村信息平台PC访问终端的外延,根据中原农村信息港服务平台的特点,惠农客户端系统需要提供的功能主要在于提供方便、清晰的用户界面以及数据的存储和读取。此外根据手机通信的特点,客户端还需要通过后台服务主动在相应的时间连接服务端获取信息同时上传数据方便服务器端分析用户的使用习惯以进行调整。惠农客户端系统可以实现农业技术咨询个性化推送、行情定向推送、农业资料查询、音视频互动等功能,其客户端模块的示意图如图1所示。

在图1中,业务层主要为用户提供农业政策法规信息、农业市场信息(农产品供需信息,市场价格,农资,农机价格等)、农业基础信息(农业生产知识:种植业、林业、畜牧业和渔业)、病虫害防治知识、农技科普知识(科技常识、农业常识、天气预报等)等农业信息,这些数据信息均来源于中原农村信息港平台的后台数据库。支撑层通过后台服务模块、视频诊断模块、语音服务模块与个性化推送和定制模块等智能信息处理平台,最终实现及时有效的各类农业信息服务,完成农业信息的浏览、咨询、定制和推送等功能。通信模块实现客户端与服务器的通信,借助手机的无线网络访问位于互联网上的服务器,客户端将各项应用通过通信模块调用服务器提供的Web Service获取数据。

2.1系统的软件包结构设计

根据Android应用开发框架的特点,按不同的功能模块进行包的设计。惠农客户端系统的软件包结构如图2所示。其中,各程序包的功能如表1所示。

2.2系统的类设计

惠农客户端系统是用Java语言实现的,Java语言是面向对象的,在进行实际编码之前应对系统所包含的类进行设计,给出系统的类图,在基础上进行编码就可实现功能。根据对惠农客户端系统的分析研究,给出系统的类图,如图3所示。

2.3系统的功能模块设计

在以上内容基础上,本节对一些功能模块进行详细设计,对模块所包含的类进行设计,给出类之间的序列图,在此基础上进行编码就可实现功能。

图4给出资讯模块的时序图,从图中可以看出所包含的类,以及类之间的交互过程。下面以资讯模块为例,对信息资讯的具体过程进行说明,其它模块的执行过程与此类此。

(1)用户进入资讯引导界面;

(2)点击子模块(三农要闻、工作动态或政策法规等)进行数据刷新,客户端向服务器发出查询请求,通过调用Web服务接口,连接服务器端的数据库,进行数据查询;

(3)服务器端将查询数据结果进行返回,客户端进行数据解析后呈现在客户端界面上。

2.4系统的数据存储设计

由于惠农客户端系统的数据均来自于中原农村信息港平台的后台数据库,客户端不需要存储大量的数据,所以在惠农客户端不需要单独使用数据库,只需要高效率的缓存空间就可以了。因此本客户端使用第三方的开源组件程序AndroidUniversal-Image-loader,该程序提供一个可重复使用的仪器为异步图像加载、缓存和显示,它也是最常用的几个开源库之一,是主流的应用,可以使用它自带的删除策略进行定时缓存释放。

2.5系统的服务接口设计

根据惠农客户端系统功能模块的分类,新闻模块分为农业科技、价格信息两大模块,每个模块下含有子版,每一篇内容直属各个子版。根据显示的效果,服务接口分为两种类型,新闻类和价格类,服务器对应接口返回数据为xml格式,下面以价格类为例给出设计的接口定义。(1)获取价格信息模块下各个子版块信息

子版信息至少包括:子版名称,子版编号标识等。

接口参考:getplate? type=价格信息的标识

数据参考:

(2)获取每个子版块的价格列表

价格列表信息至少包含元素:名称、区县、地市、价格等;

接口参考:getprice? plate=(粮食、畜牧、蔬菜)子版编号&type=vouch

数据参考:

3系统的实现与应用

惠农客户端系统主要实现了农业资讯、农业科技、农业应用、农业商贸和农业订阅等农业信息的实时获取和数据共享;同时,通过集成惠农呼叫中心和农作物远程视频诊断系统,实现了涉农用户和农业类专家的实时互动交流,解决了农户在农业生产中遇到的各种问题。

(1)农业资讯模块主要包括三农要闻、工作动态和政策法规,通过本栏目可以让农民了解到最新的农业信息和相关的农业政策法规。

(2)农业科技栏目主要包括畜牧兽医、粮食作物、园林园艺、经济作物和农产品加工等科技信息,通过本栏目农民可以进行各种农业科技信息的查询和学习,解决农业生产中遇到的常见问题。

(3)农业应用栏目主要包括呼叫热线(集成第三方系统,由第三方提供页面链接,直接点击呼叫即可)、远程诊断(调用第三方软件系统)、气象服务和价格信息,通过本栏目,农民使用智能手机就可以和农业专家进行远程语音和视频的双向交流以及气象信息和价格信息的查询,农户可以在线进行各类涉农信息咨询,让专家远程为病虫害开出药方,让农户及时了解最新的涉农信息、更快的解决农业生产中遇到的问题,从而提升各类涉农问题的解决效率和质量。

(4)农业商贸栏目主要包括粮油作物、蔬菜水果、养殖水产、副食特产、苗木花卉、农资供应和综合服务,通过本栏目可以让农民了解各类农业产品的供求信息以及各涉农企业的具体情况,指导农民有计划的进行各种农产品的种植、生产和加

4结论

针对当前河南省移动智能终端农业信息服务贫乏的这一缺口,同时为了满足河南省农村信息服务多渠道融合的需求,本文在河南省中原农村信息港平台的基础上,设计和开发了Android智能终端客户端系统。该系统是中原农村信息港平台PC访问终端的外援,为Android移动终端用户提供了农业技术咨询个性化推送、行情定向推送、农业资料查询、农作物远程视频诊断等服务,实现了信息化对农业生产和农村社会经济发展的倍增效应。

推荐访问:惠农 河南省 终端 客户端 设计