謝龍+聶廣星+王鷺
摘 要:當前的伙食管理系統(tǒng)主要基于傳統(tǒng)PC平臺,而PC平臺缺乏便攜性,易受使用環(huán)境的制約,致使數(shù)據(jù)填報不真實、上報不及時。為解決這一問題,基于Android系統(tǒng)設(shè)計了伙食管理系統(tǒng),對業(yè)務流程進行了優(yōu)化,并綜合使用多種信息采集手段,以確?;锸彻芾淼木_、高效、科學。
關(guān)鍵詞關(guān)鍵詞:Android;伙食管理;伙食管理系統(tǒng)
DOIDOI:10.11907/rjdk.161454
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2016)008-0091-03
0 引言
Android系統(tǒng)是Google公司基于Linux平臺開發(fā)的開源手機操作系統(tǒng),已廣泛應用于手機、平板、TV、智能手表等設(shè)備[1]。研究調(diào)查顯示,很多企業(yè)已經(jīng)在方案設(shè)計、生產(chǎn)制造和協(xié)同管理等領(lǐng)域使用移動APP來進行辦公和共享資料,使用最多的平臺是Android系統(tǒng)。基于Android開發(fā)伙食管理系統(tǒng),并將其應用于集體就餐的食堂伙食管理中,可降低管理成本,增強管理效能。
1 Android系統(tǒng)簡介
Android系統(tǒng)的底層建立在Linux系統(tǒng)之上,源代碼開放,主要用于移動設(shè)備。該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件四層組成,Andy Rubin等開發(fā)人員采用了軟件堆層 (Software Stack)的思想策略來對Android系統(tǒng)進行設(shè)計[2]。這種軟件疊層結(jié)構(gòu)使得層與層之間相互分離,明確了隔層的分工,保證了層與層之間的低耦合,當下層發(fā)生改變時,上層應用程序無需作任何改變,提高了系統(tǒng)的可維護性和穩(wěn)定性,同時增強了系統(tǒng)可擴展能力,有利于對源代碼的維護和功能升級。Android系統(tǒng)框架如圖1所示。
2 系統(tǒng)總體框架設(shè)計
伙食管理系統(tǒng)總體架構(gòu)主要包括服務端、PC端、移動終端(Android平板)和通信鏈路。系統(tǒng)運行時,伙食管理人員可操作Android移動終端,采集基礎(chǔ)數(shù)據(jù),并處理日常業(yè)務,將數(shù)據(jù)存儲在移動終端的SQLite數(shù)據(jù)庫上。通過WiFi無線網(wǎng)連接的方式訪問服務器,將Android數(shù)據(jù)庫中的數(shù)據(jù)上傳到數(shù)據(jù)庫服務器。當無線網(wǎng)不能正常連接時,可以通過藍牙、USB等連接方式將移動終端與PC終端連接起來,將移動終端的數(shù)據(jù)拷貝到PC終端,再通過PC終端將數(shù)據(jù)上傳到數(shù)據(jù)庫服務器?;贏ndroid移動終端的伙食管理系統(tǒng)總體框架如圖2所示。
3 系統(tǒng)功能模塊設(shè)計
伙食管理系統(tǒng)包含計劃管理、物資管理、賬務處理以及系統(tǒng)維護等模塊。實現(xiàn)的主要業(yè)務功能如圖3所示。
3.1 計劃管理模塊
基于Android的伙食管理系統(tǒng)的保障起點是根據(jù)保障對象的飲食習慣、工作強度,結(jié)合營養(yǎng)信息、經(jīng)費數(shù)額、物價信息和原料庫存等基礎(chǔ)數(shù)據(jù)制訂食譜。而后,系統(tǒng)自動生成籌措計劃、加工計劃和供應計劃,經(jīng)過簡單調(diào)整后,上報服務器,經(jīng)主管部門審批,執(zhí)行相關(guān)計劃。除此之外,提供計劃查詢、計劃匯總、計劃管理等功能。其中,計劃查詢功能可根據(jù)種類、單位、日期等查詢相應的計劃,計劃匯總功能實現(xiàn)由系統(tǒng)自動完成指定時間內(nèi)的匯總內(nèi)容,計劃管理中提供預覽、修改、刪除和打印功能。
3.2 物資管理模塊
在伙食管理工作中,要求落實好實物驗收制度、物資出庫登記制度、盤點制度[3]。物資入庫必須要有專人驗收,對物資的品種、數(shù)量、金額進行認真核對,按規(guī)定記賬。物資出庫,要嚴格遵循出庫手續(xù),做好登記,定期進行庫存物資盤點。在使用基于Android的伙食管理系統(tǒng)時,在物資入庫階段,通過二維碼、NFC識別等方式實現(xiàn)入庫物資登記;物資出庫時,通過掃描物資上的二維碼或電子秤打印的二維碼實現(xiàn)對出庫物資登記。整個過程不需要手工錄入,并能實時查看庫存情況。
3.3 賬務處理模塊
物資使用消耗、經(jīng)費使用情況都應記錄在賬務中。系統(tǒng)中應按照財務相關(guān)規(guī)定,設(shè)置會計科目,并實現(xiàn)憑證的自動生成和手動錄入功能,可根據(jù)用戶所選定的日期范圍,計算經(jīng)費分類賬的本期發(fā)生額和累計發(fā)生額,自動生成周、月、季和年報表。
3.4 系統(tǒng)維護模塊
系統(tǒng)維護模塊實現(xiàn)用戶信息維護和系統(tǒng)數(shù)據(jù)的初始化、備份和恢復,同時可對網(wǎng)絡(luò)連接信息進行修改。
4 Android相關(guān)技術(shù)在系統(tǒng)中的應用
4.1 信息采集
基于Android移動終端進行數(shù)據(jù)采集,可以綜合使用多種采集功能,在具體應用中,通常使用的有條碼識別、NFC讀寫、攝像頭拍攝和地理信息采集等功能。
4.1.1 條碼識別
條碼是由一組條、空和數(shù)字符號組成,按一定編碼規(guī)則排列,用以表示一定的字符、數(shù)字和符號等信息,大體可以分為一維條碼和二維條碼。目前,在Android系統(tǒng)中進行條碼生成與識別的技術(shù)已經(jīng)比較成熟,也有很多條碼的加密解密流程和算法,能夠保證條碼應用的安全性。在伙食管理系統(tǒng)中,條碼識別技術(shù)可用于完成物資基礎(chǔ)信息的采集,獲取到物資的名稱、生產(chǎn)商、出廠時間、保質(zhì)期、重量等信息,實現(xiàn)數(shù)據(jù)的自動識別。開發(fā)程序中,首先調(diào)用并配置攝像頭構(gòu)建掃描窗口,方便條碼置于窗口內(nèi)時可以自動識別,同時系統(tǒng)中設(shè)置監(jiān)聽器,在掃描窗口打開以后,監(jiān)聽條碼是否已經(jīng)捕捉,若捕捉成功,則系統(tǒng)得到解碼消息,執(zhí)行解碼程序;若失敗則繼續(xù)捕捉,不發(fā)送解碼消息。
4.1.2 NFC讀寫
RFID射頻識別標簽通過無線射頻信號獲取物體的相關(guān)數(shù)據(jù),并對物體加以識別,實現(xiàn)了無需與被識別物體直接接觸,即可完成信息的輸入和處理[4]。Android中的NFC技術(shù),發(fā)源于RFID技術(shù),能向下兼容RFID技術(shù)。既可作為讀寫設(shè)備對RFID卡進行讀寫,又能充當RFID卡被其它設(shè)備讀寫。隨著RFID射頻識別標簽成本的降低,越來越多的產(chǎn)品在出廠時都粘貼有射頻識別標簽,通過Android移動終端的NFC技術(shù),在移動終端上可以快捷獲取到指定類別的射頻識別標簽數(shù)據(jù)信息。
Android系統(tǒng)對NFC的支持主要在android.nfc和android.nfc.tech兩個包中。通過android.nfc包中的NfcManager類可以管理Android設(shè)備中的NFC Adapter。當Android設(shè)備檢測到一個Tag時,會創(chuàng)建一個Tag對象,將其放在Intent對象,然后發(fā)送到相應的Activity。調(diào)用在android.nfc.tech中定義的NfcA、NfcB、NfcF、MifareClassic等類,實現(xiàn)對Tag進行的讀寫操作。
4.1.3 攝像頭攝像
在伙食管理中需要采集相關(guān)圖像和視頻信息。傳統(tǒng)方式是使用獨立設(shè)備拍照或攝像,再將圖像與視頻拷貝到PC終端,或者在PC終端連接攝像頭,通過攝像軟件獲取圖像和視頻。這種方式需要單獨購置攝像設(shè)備,成本較高、操作復雜,使用效率低。Android移動終端集成有攝像頭,而且拍攝效果與卡片相機類似,能快速獲取相關(guān)圖像和視頻。在伙食管理系統(tǒng)中,既可借助Intent和MediaStore調(diào)用系統(tǒng)APP來實現(xiàn)拍照和攝像功能,也可依據(jù)Android系統(tǒng)Camera API編寫自定義攝像程序,來實現(xiàn)拍照和攝像功能。最后,對獲得的圖片和視頻進行添加水印操作,保證圖像和視頻信息的實時性和真實性。
4.1.4 地理信息采集
Android移動終端都集成有定位芯片,使用比較多的是GPS,也有使用我國自主研發(fā)的北斗導航系統(tǒng)。在伙食管理系統(tǒng)中使用Android設(shè)備獲取位置信息,可以實現(xiàn)對物資、裝備的監(jiān)控,有利于提高保障的精確性。開發(fā)過程中,Android系統(tǒng)提供了一套與定位相關(guān)的類,用于獲取經(jīng)緯度以及海拔信息。通過LocationProvider可以設(shè)置使用GPS定位還是使用北斗定位,再利用LocationManager對象獲取位置信息,通過調(diào)用getLatitude()方法可以獲得緯度數(shù)據(jù),調(diào)用getLongitude()方法獲取經(jīng)度數(shù)據(jù),調(diào)用getAltitude()方法返回海拔數(shù)據(jù)。
4.2 數(shù)據(jù)處理
4.2.1 數(shù)據(jù)存儲
Android系統(tǒng)提供了專門接口進行數(shù)據(jù)的輸入和輸出,占用少量數(shù)據(jù)時,可以使用普通文件進行保存;涉及到大量數(shù)據(jù)時,可以使用內(nèi)置的SQLite數(shù)據(jù)庫進行存儲訪問。SQLite是一個輕量級數(shù)據(jù)庫,但其管理的數(shù)據(jù)量高達2TB,且沒有后臺進程,整個數(shù)據(jù)庫僅對應于一個文件,便于在不同設(shè)備之間移植。開發(fā)者可使用SQL語句操作數(shù)據(jù)庫中的數(shù)據(jù),還可利用Android提供的SQLiteOpenHelper類和SQLiteDatabase類對數(shù)據(jù)庫進行創(chuàng)建、打開、關(guān)閉和增刪改查操作。實際中,通過創(chuàng)建SQLiteOpenHelper的子類,拓展它的onCreate()和onUpgrade()方法來管理數(shù)據(jù)庫的創(chuàng)建和版本更新;通過SQLiteDatabase類提供的insert、update、delete、query等方法完成數(shù)據(jù)的增刪改查操作。
4.2.2 數(shù)據(jù)傳輸
當前,Android客戶端和服務器交互方式主要有Socket傳輸、WebService傳輸、Post/Get獲取數(shù)據(jù)3種方式[5]。其中,Socket傳輸基于TCP、UDP協(xié)議,WebService傳輸基于SOAP協(xié)議,Post/Get獲取數(shù)據(jù)方式基于HTTP協(xié)議。在伙食管理系統(tǒng)開發(fā)中,通過調(diào)用Android SDK的Socket,基于TCP/IP協(xié)議,通過WIFI連接的方式訪問服務器,將SQLite數(shù)據(jù)庫中的數(shù)據(jù)上傳到服務器;數(shù)據(jù)傳輸過程中,客戶端和服務端都要接收發(fā)送數(shù)據(jù),完成數(shù)據(jù)的拼接、解析,并驗證數(shù)據(jù)完整性。在無線網(wǎng)不能正常連接時,可以通過藍牙、USB等連接方式將移動終端與PC終端連接起來,將移動終端的數(shù)據(jù)庫拷貝到PC終端,再通過PC終端將數(shù)據(jù)上傳到數(shù)據(jù)庫服務器。
4.2.3 數(shù)據(jù)呈現(xiàn)
Android系統(tǒng)的數(shù)據(jù)呈現(xiàn)方式非常豐富,可以使用表格、柱狀圖、曲線圖、餅狀圖等多種形式,還可以展現(xiàn)圖片和視頻信息。Android移動終端采集的各種數(shù)據(jù),一方面可以通過本機的計算、處理匯總成表格、圖像呈現(xiàn)給操作人員;另一方面將移動端的數(shù)據(jù)上傳到服務器后,結(jié)合服務器上存儲的歷史數(shù)據(jù)形成一個長期的、宏觀的匯總結(jié)果,反饋到移動終端、PC終端,為管理人員提供數(shù)據(jù)支撐和決策依據(jù)。這種方式能充分發(fā)揮服務器強大的數(shù)據(jù)處理能力,Android移動終端不進行大型的數(shù)據(jù)運算,只需呈現(xiàn)數(shù)據(jù)分析處理結(jié)果。
5 結(jié)語
當前,伙食管理系統(tǒng)主要基于傳統(tǒng)的PC平臺,而PC平臺缺乏便攜性,易受使用環(huán)境的制約,致使數(shù)據(jù)填報不真實、上報不及時?;贏ndroid的伙食管理系統(tǒng)能夠補足傳統(tǒng)模式的短板,一方面可以基于移動終端處理相關(guān)業(yè)務,另一方面可以實時進行數(shù)據(jù)采集和處理,確保了信息統(tǒng)計、上報的及時性、規(guī)范性和有效性,實現(xiàn)了伙食管理的自動化、智能化和科學化。
參考文獻:
[1]李婷,周蘭,閔棟,等.指尖上的革命—移動智能終端[M].北京:電子工業(yè)出版社,2014.
[2]RETO MEIER.Professional android application development[M]. Wrox Press Ltd,2008.
[3]賀德富.給養(yǎng)信息統(tǒng)計監(jiān)測理論與實踐[M].北京:軍事科學出版社,2015.
[4]黃玉蘭.物聯(lián)網(wǎng)射頻識別(RFID)核心技術(shù)詳解[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.
(責任編輯:孫 娟)