基于Android的伙食管理系统设计

2017-03-31 22:17谢龙聂广星王鹭
软件导刊 2016年8期

谢龙+聂广星+王鹭

摘 要:当前的伙食管理系统主要基于传统PC平台,而PC平台缺乏便携性,易受使用环境的制约,致使数据填报不真实、上报不及时。为解决这一问题,基于Android系统设计了伙食管理系统,对业务流程进行了优化,并综合使用多种信息采集手段,以确保伙食管理的精确、高效、科学。

关键词关键词:Android;伙食管理;伙食管理系统

DOIDOI:10.11907/rjdk.161454

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2016)008-0091-03

0 引言

Android系统是Google公司基于Linux平台开发的开源手机操作系统,已广泛应用于手机、平板、TV、智能手表等设备[1]。研究调查显示,很多企业已经在方案设计、生产制造和协同管理等领域使用移动APP来进行办公和共享资料,使用最多的平台是Android系统。基于Android开发伙食管理系统,并将其应用于集体就餐的食堂伙食管理中,可降低管理成本,增强管理效能。

1 Android系统简介

Android系统的底层建立在Linux系统之上,源代码开放,主要用于移动设备。该平台由操作系统、中间件、用户界面和应用软件四层组成,Andy Rubin等开发人员采用了软件堆层 (Software Stack)的思想策略来对Android系统进行设计[2]。这种软件叠层结构使得层与层之间相互分离,明确了隔层的分工,保证了层与层之间的低耦合,当下层发生改变时,上层应用程序无需作任何改变,提高了系统的可维护性和稳定性,同时增强了系统可扩展能力,有利于对源代码的维护和功能升级。Android系统框架如图1所示。

2 系统总体框架设计

伙食管理系统总体架构主要包括服务端、PC端、移动终端(Android平板)和通信链路。系统运行时,伙食管理人员可操作Android移动终端,采集基础数据,并处理日常业务,将数据存储在移动终端的SQLite数据库上。通过WiFi无线网连接的方式访问服务器,将Android数据库中的数据上传到数据库服务器。当无线网不能正常连接时,可以通过蓝牙、USB等连接方式将移动终端与PC终端连接起来,将移动终端的数据拷贝到PC终端,再通过PC终端将数据上传到数据库服务器。基于Android移动终端的伙食管理系统总体框架如图2所示。

3 系统功能模块设计

伙食管理系统包含计划管理、物资管理、账务处理以及系统维护等模块。实现的主要业务功能如图3所示。

3.1 计划管理模块

基于Android的伙食管理系统的保障起点是根据保障对象的饮食习惯、工作强度,结合营养信息、经费数额、物价信息和原料库存等基础数据制订食谱。而后,系统自动生成筹措计划、加工计划和供应计划,经过简单调整后,上报服务器,经主管部门审批,执行相关计划。除此之外,提供计划查询、计划汇总、计划管理等功能。其中,计划查询功能可根据种类、单位、日期等查询相应的计划,计划汇总功能实现由系统自动完成指定时间内的汇总内容,计划管理中提供预览、修改、删除和打印功能。

3.2 物资管理模块

在伙食管理工作中,要求落實好实物验收制度、物资出库登记制度、盘点制度[3]。物资入库必须要有专人验收,对物资的品种、数量、金额进行认真核对,按规定记账。物资出库,要严格遵循出库手续,做好登记,定期进行库存物资盘点。在使用基于Android的伙食管理系统时,在物资入库阶段,通过二维码、NFC识别等方式实现入库物资登记;物资出库时,通过扫描物资上的二维码或电子秤打印的二维码实现对出库物资登记。整个过程不需要手工录入,并能实时查看库存情况。

3.3 账务处理模块

物资使用消耗、经费使用情况都应记录在账务中。系统中应按照财务相关规定,设置会计科目,并实现凭证的自动生成和手动录入功能,可根据用户所选定的日期范围,计算经费分类账的本期发生额和累计发生额,自动生成周、月、季和年报表。

3.4 系统维护模块

系统维护模块实现用户信息维护和系统数据的初始化、备份和恢复,同时可对网络连接信息进行修改。

4 Android相关技术在系统中的应用

4.1 信息采集

基于Android移动终端进行数据采集,可以综合使用多种采集功能,在具体应用中,通常使用的有条码识别、NFC读写、摄像头拍摄和地理信息采集等功能。

4.1.1 条码识别

条码是由一组条、空和数字符号组成,按一定编码规则排列,用以表示一定的字符、数字和符号等信息,大体可以分为一维条码和二维条码。目前,在Android系统中进行条码生成与识别的技术已经比较成熟,也有很多条码的加密解密流程和算法,能够保证条码应用的安全性。在伙食管理系统中,条码识别技术可用于完成物资基础信息的采集,获取到物资的名称、生产商、出厂时间、保质期、重量等信息,实现数据的自动识别。开发程序中,首先调用并配置摄像头构建扫描窗口,方便条码置于窗口内时可以自动识别,同时系统中设置监听器,在扫描窗口打开以后,监听条码是否已经捕捉,若捕捉成功,则系统得到解码消息,执行解码程序;若失败则继续捕捉,不发送解码消息。

4.1.2 NFC读写

RFID射频识别标签通过无线射频信号获取物体的相关数据,并对物体加以识别,实现了无需与被识别物体直接接触,即可完成信息的输入和处理[4]。Android中的NFC技术,发源于RFID技术,能向下兼容RFID技术。既可作为读写设备对RFID卡进行读写,又能充当RFID卡被其它设备读写。随着RFID射频识别标签成本的降低,越来越多的产品在出厂时都粘贴有射频识别标签,通过Android移动终端的NFC技术,在移动终端上可以快捷获取到指定类别的射频识别标签数据信息。

Android系统对NFC的支持主要在android.nfc和android.nfc.tech两个包中。通过android.nfc包中的NfcManager类可以管理Android设备中的NFC Adapter。当Android设备检测到一个Tag时,会创建一个Tag对象,将其放在Intent对象,然后发送到相应的Activity。调用在android.nfc.tech中定义的NfcA、NfcB、NfcF、MifareClassic等类,实现对Tag进行的读写操作。

4.1.3 摄像头摄像

在伙食管理中需要采集相关图像和视频信息。传统方式是使用独立设备拍照或摄像,再将图像与视频拷贝到PC终端,或者在PC终端连接摄像头,通过摄像软件获取图像和视频。这种方式需要单独购置摄像设备,成本较高、操作复杂,使用效率低。Android移动终端集成有摄像头,而且拍摄效果与卡片相机类似,能快速获取相关图像和视频。在伙食管理系统中,既可借助Intent和MediaStore调用系统APP来实现拍照和摄像功能,也可依据Android系统Camera API编写自定义摄像程序,来实现拍照和摄像功能。最后,对获得的图片和视频进行添加水印操作,保证图像和视频信息的实时性和真实性。

4.1.4 地理信息采集

Android移动终端都集成有定位芯片,使用比较多的是GPS,也有使用我国自主研发的北斗导航系统。在伙食管理系统中使用Android设备获取位置信息,可以实现对物资、装备的监控,有利于提高保障的精确性。开发过程中,Android系统提供了一套与定位相关的类,用于获取经纬度以及海拔信息。通过LocationProvider可以设置使用GPS定位还是使用北斗定位,再利用LocationManager对象获取位置信息,通过调用getLatitude()方法可以获得纬度数据,调用getLongitude()方法获取经度数据,调用getAltitude()方法返回海拔数据。

4.2 数据处理

4.2.1 数据存储

Android系统提供了专门接口进行数据的输入和输出,占用少量数据时,可以使用普通文件进行保存;涉及到大量数据时,可以使用内置的SQLite数据库进行存储访问。SQLite是一個轻量级数据库,但其管理的数据量高达2TB,且没有后台进程,整个数据库仅对应于一个文件,便于在不同设备之间移植。开发者可使用SQL语句操作数据库中的数据,还可利用Android提供的SQLiteOpenHelper类和SQLiteDatabase类对数据库进行创建、打开、关闭和增删改查操作。实际中,通过创建SQLiteOpenHelper的子类,拓展它的onCreate()和onUpgrade()方法来管理数据库的创建和版本更新;通过SQLiteDatabase类提供的insert、update、delete、query等方法完成数据的增删改查操作。

4.2.2 数据传输

当前,Android客户端和服务器交互方式主要有Socket传输、WebService传输、Post/Get获取数据3种方式[5]。其中,Socket传输基于TCP、UDP协议,WebService传输基于SOAP协议,Post/Get获取数据方式基于HTTP协议。在伙食管理系统开发中,通过调用Android SDK的Socket,基于TCP/IP协议,通过WIFI连接的方式访问服务器,将SQLite数据库中的数据上传到服务器;数据传输过程中,客户端和服务端都要接收发送数据,完成数据的拼接、解析,并验证数据完整性。在无线网不能正常连接时,可以通过蓝牙、USB等连接方式将移动终端与PC终端连接起来,将移动终端的数据库拷贝到PC终端,再通过PC终端将数据上传到数据库服务器。

4.2.3 数据呈现

Android系统的数据呈现方式非常丰富,可以使用表格、柱状图、曲线图、饼状图等多种形式,还可以展现图片和视频信息。Android移动终端采集的各种数据,一方面可以通过本机的计算、处理汇总成表格、图像呈现给操作人员;另一方面将移动端的数据上传到服务器后,结合服务器上存储的历史数据形成一个长期的、宏观的汇总结果,反馈到移动终端、PC终端,为管理人员提供数据支撑和决策依据。这种方式能充分发挥服务器强大的数据处理能力,Android移动终端不进行大型的数据运算,只需呈现数据分析处理结果。

5 结语

当前,伙食管理系统主要基于传统的PC平台,而PC平台缺乏便携性,易受使用环境的制约,致使数据填报不真实、上报不及时。基于Android的伙食管理系统能够补足传统模式的短板,一方面可以基于移动终端处理相关业务,另一方面可以实时进行数据采集和处理,确保了信息统计、上报的及时性、规范性和有效性,实现了伙食管理的自动化、智能化和科学化。

参考文献:

[1]李婷,周兰,闵栋,等.指尖上的革命—移动智能终端[M].北京:电子工业出版社,2014.

[2]RETO MEIER.Professional android application development[M]. Wrox Press Ltd,2008.

[3]贺德富.给养信息统计监测理论与实践[M].北京:军事科学出版社,2015.

[4]黄玉兰.物联网射频识别(RFID)核心技术详解[M].北京:人民邮电出版社,2012.

[5]BUITRON-DAMASO,MORALES-LUNA.HTTPS connections over Android[C].2011 8th International Conference on Electrical Engineering Computing Science and Automatic Control(CCE),2011:1-4.

(责任编辑:孙 娟)