謝龍+聶廣星+王鷺


摘 要:當前的伙食管理系統主要基于傳統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.
(責任編輯:孫 娟)