郭杰
摘要:中小型快遞公司采用手工方式對快件進行攬收、派送、簽收統(tǒng)計,快遞人員流動性強,導致難以管理。智能手機和4G網(wǎng)絡(luò)的普及,可以使用攝像頭掃描快遞條形碼并通過網(wǎng)絡(luò)上傳數(shù)據(jù)進行統(tǒng)計查詢。該設(shè)計前端采用Android Studio開發(fā)的原生Android APP,快遞員通過手機攝像頭掃描快件條形碼的方式將攬收、派送、簽收時的工號和時間信息遠程上傳到服務(wù)器中,后臺服務(wù)器Java Web程序部署在MoPaaS云計算平臺中,管理員登錄后臺服務(wù)器進行快件的統(tǒng)計查詢管理,及時查看所有員工每天、每月和每年的快件工作量,在連云港某快遞公司投入使用后,收到良好的效果。
關(guān)鍵詞:Android Studio;快遞;條形碼;MoPaaS
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)36-0078-03
Design and Implementation of Express Management System Based on Android Platform
GUO Jie
(School of Electronic and Information Engineering, Nanjing Communications Institute of Technology, Nanjing 211188, China)
Abstract: In a medium or small sized company by hand to express receive, delivery, courier receipt statistics, strong liquidity, leading to difficult to manage. The popularity of smart phones and 4G network, you can use the camera to scan the bar code and upload data through the network to carry out statistical queries. The design of the front end using Android Studio development of the native Android APP, the courier by a mobile phone camera to scan the bar code to express receive, delivery, receipt couriers number and time information of remote upload to the server, The background server Web Java program is deployed in the MoPaaS cloud computing platform.Statistics Administrator Login background server Express query management, timely check all employees daily, monthly and annual express workload, put into use in Lianyungang, a courier company, received good results.
Key words:Android Studio; express; bar code; MoPaaS
1 背景
隨著移動互聯(lián)網(wǎng)的快速發(fā)展,物美價廉的智能手機逐漸普及,網(wǎng)上購物移動端所占的比例已經(jīng)超過PC端,三、四線城市的客戶網(wǎng)上購物金額大幅增長,立足于三、四線城市的中小快遞企業(yè)業(yè)務(wù)量也越來越大,傳統(tǒng)的管理方式采用手工登記快件的攬收、派件、簽收情況,費時費力,容易遺漏,加之快遞員工的流動性強,難以精細化管理。大型快遞企業(yè)均采用定制化的快遞管理系統(tǒng),成本較高,同時無法滿足中小型企業(yè)個性化的管理需求。本系統(tǒng)前端采用Android Studio開發(fā)的原生Android APP,快遞員使用手機攝像頭,通過掃描條形碼的方式快速上傳攬收、派件、簽收的工號、時間等信息至遠程服務(wù)器。管理員登錄后臺服務(wù)器可以隨時查看當日、當月、當年每位員工的攬收、派件、簽收工作量,大幅提高管理效率。
2 技術(shù)基礎(chǔ)
2.1 Android Studio
Android Studio是2013年5月Google公司推出的新的Android集成開發(fā)工具,目前原有的Eclipse Android開發(fā)工具已經(jīng)不再維護升級。Android Studio是基于Gradle進行構(gòu)建的,只需在配置文件中添加配置語句,即可完成依賴Jar包的導入,提供了在手機上快速執(zhí)行的調(diào)試方法,布局編輯器更加強大,對各種手機屏幕分辨率的支持更好。使用ProGuard進行代碼混淆并支持應(yīng)用簽名。該開發(fā)工具最大的優(yōu)點是可以方便的導入各種Android開發(fā)插件,大大提高開發(fā)效率,缺點是運行時占用操作系統(tǒng)內(nèi)存較大,且需要實時聯(lián)網(wǎng)在線更新開發(fā)包,導致網(wǎng)絡(luò)不佳和某些低配置硬件上運行速度緩慢。
2.2 ZXing
ZXing是Google公司開發(fā)的開源類庫,用于條形碼和二維碼的編碼和解析,面向多平臺和編程語言提供了接口、幫助文檔和實例代碼。
本系統(tǒng)使用ZXing讀取一維條形碼的步驟是:調(diào)用系統(tǒng)攝像頭進行拍照,圖片保存在默認位置,調(diào)用ZXing解碼類的解碼方法,將圖片信息轉(zhuǎn)換為Result對象,最終獲得其中的一組數(shù)字。
2.3 OkHttp
OkHttp是Square出品的開源類庫,是一款優(yōu)秀的Http框架,同時支持post和get請求。提供enqueue方法支持異步請求,在回調(diào)方法中獲取返回的數(shù)據(jù)。OkHttp支持文件GZIP壓縮上傳和下載,支持加載圖片,使用緩存技術(shù)避免重復(fù)的網(wǎng)絡(luò)請求,支持使用連接池來降低響應(yīng)延遲問題,使得交換數(shù)據(jù)更快且更節(jié)省帶寬。OkHttp傳輸?shù)臄?shù)據(jù)支持JSON格式,可以解決漢字亂碼的問題。
本系統(tǒng)中通過手機攝像頭讀取的一維條形碼數(shù)字即快遞單號以及快遞員工工號、當前時間等數(shù)據(jù)通過OkHttp相關(guān)類的方法傳遞到遠程服務(wù)器上。
2.4 OrmLite
OrmLite是封裝了SQLite持久化操作的開源類庫,提供了簡單的、輕量級的功能來保存Android應(yīng)用程序中的數(shù)據(jù)。OrmLite中的類與數(shù)據(jù)庫表的映射關(guān)系通過簡單的注解方式實現(xiàn)??梢宰詣由蒘QL來創(chuàng)建和刪除數(shù)據(jù)庫表。在OrmLite中,提供了一個繼承自原版SqliteOpenHelper的OrmLiteSqliteOpenHelper工具,可以方便的實現(xiàn)數(shù)據(jù)的增、刪、改、查操作。
本系統(tǒng)中手機查詢遠程服務(wù)器上的數(shù)據(jù),調(diào)用OrmLite相關(guān)類將數(shù)據(jù)保存到本地,便于以后查看,減少網(wǎng)絡(luò)通信次數(shù),提供效率。
2.5 MoPaaS
MoPaaS是一個開放、敏捷、安全、可擴充的智能化云計算平臺服務(wù),可以使得應(yīng)用開發(fā)者可以快捷地部署和彈性擴展應(yīng)用,在線監(jiān)控和管理應(yīng)用的運行,極大地減少應(yīng)用部署、升級、擴展和運維時間和成本。只需幾個簡單的步驟,就可以使用 MoPaaS 網(wǎng)站,創(chuàng)建并部署應(yīng)用、創(chuàng)建服務(wù)并管理服務(wù)和升級??蓪崿F(xiàn)自動資源分配,負載預(yù)測和彈性伸縮,并提供應(yīng)用服務(wù)在線監(jiān)控、管理和擴容,減少應(yīng)用部署、升級、擴展和運維的時間和成本。
與阿里巴巴的萬網(wǎng)相比,MoPaaS服務(wù)優(yōu)勢在于開發(fā)者使用成本大大降低,部署一個并發(fā)數(shù)量較小的中小型企業(yè)的Web服務(wù)應(yīng)用程序年費用是萬網(wǎng)的十分之一。本系統(tǒng)的后臺服務(wù)器端Java Web程序部署在MoPaaS上,整個部署過程只需上傳一個項目war包文件并綁定MySQL數(shù)據(jù)庫即可,大大降低了開發(fā)和提供應(yīng)用的門檻。
3 系統(tǒng)設(shè)計
3.1 業(yè)務(wù)流程設(shè)計
系統(tǒng)包括兩種角色:管理員、快遞員(包括:攬收員、派件員)、普通用戶。管理員在PC端登錄后臺管理頁面錄入員工工號、手機號碼等信息。
快遞員根據(jù)工號登錄Android端APP,攬收員接收到快遞時掃描條形碼進行攬收操作,記錄快件單號、員工工號和攬收時間信息,然后將快件交給派件員進行派送,派件員掃描條形碼進行派送操作,同樣記錄工號和派送時間,最后當客戶收到快件時,進行簽收操作。每次操作均進行掃描快件條形碼獲得單號并將相關(guān)數(shù)據(jù)提交至遠程服務(wù)器的操作,服務(wù)器端根據(jù)提交的單號信息和操作信息及時更新快件的狀態(tài)。
系統(tǒng)管理員登錄后臺管理系統(tǒng)執(zhí)行快件查詢,可以錄入快件單號查詢快件的攬收、派件和簽收情況??梢暂斎雴T工工號查詢該員工當日、當月和當年的工作量。也可以查看指定時間內(nèi)所有員工的工作量。
普通用戶可以使用APP在手機端查詢快遞的狀態(tài)、快遞員手機號碼等信息。
3.2 功能設(shè)計
系統(tǒng)總體功能設(shè)計如圖2所示。
3.3 物理架構(gòu)設(shè)計
本系統(tǒng)采用客戶端采用Android平臺,服務(wù)端采用Java Web開發(fā),客戶端使用手機攝像頭掃描快件條形碼獲得單號,并將員工工號、操作類型、操作時間等信息發(fā)送給服務(wù)器端,服務(wù)器部署在第三方MoPaaS上使用Tomcat服務(wù),保存在MySQL數(shù)據(jù)庫中。服務(wù)器端通過PC瀏覽器登錄進行后臺管理操作。
3.4 數(shù)據(jù)庫設(shè)計
系統(tǒng)分為快件信息表,新聞信息表,員工信息表,系統(tǒng)配置信息表??蛻舳瞬捎肧QLite數(shù)據(jù)庫進行管理,服務(wù)器端采用MySQL數(shù)據(jù)庫進行管理。客戶端使用OrmLite開源類庫進行數(shù)據(jù)持久化操作,服務(wù)器端使用Spring Hibernate類庫進行數(shù)據(jù)持久化操作。
3.5客戶端界面設(shè)計
客戶端使用Android控件進行布局開發(fā),為便于快遞員使用,主界面必須簡單易用。常用的攬收、派件、簽收操作設(shè)計為帶圖片的按鈕,一鍵即可調(diào)出攝像頭拍照。攬收、派件量的統(tǒng)計采用列表方式按天顯示,單擊即可查看當天所有快件列表,單擊快件列表可以查看快件的詳細信息,詳細信息采用時間軸形式顯示,便于查看快件的狀態(tài)。
3.6 服務(wù)器端界面設(shè)計
服務(wù)器端使用JSP進行布局開發(fā),采用Bootstrap框架進行界面布局設(shè)計,Bootstrap是最受歡迎的 HTML、CSS 和 JS 框架,用于開發(fā)響應(yīng)式布局、移動設(shè)備優(yōu)先的 WEB 項目。服務(wù)器端可以根據(jù)單號查詢快件狀態(tài),操作員工工號、操作時間。工作查詢功能根據(jù)員工工號查詢員工姓名、手機號碼、攬收日期、派送日期、簽收日期以及數(shù)量。工作統(tǒng)計可以按照指定的時間段統(tǒng)計員工的攬收、派件、簽收數(shù)量。
4 結(jié)束語
本文深入研究了基于Android平臺的快遞管理系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)基礎(chǔ)、系統(tǒng)物理架構(gòu)、業(yè)務(wù)流程設(shè)計、功能設(shè)計、數(shù)據(jù)庫設(shè)計、界面設(shè)計。提出了客戶端Android原生APP與服務(wù)器端Java Web平臺聯(lián)合開發(fā)的模式,以及采用MoPaaS部署服務(wù)器應(yīng)用程序的新型中小企業(yè)移動應(yīng)用云平臺服務(wù)的解決方案。該系統(tǒng)在某市快遞公司中得到應(yīng)用,有效解決了快遞員工作量信息統(tǒng)計查詢的管理問題。
參考文獻:
[1] 孔貝貝. ZXing條形碼掃描技術(shù)在移動數(shù)字圖書館中的應(yīng)用[J]. 電腦知識與技術(shù), 2016(9): 196-198.
[2] 魔泊云文檔中心[EB/OL]. https://help.butterfly.mopaas.com/.
[3] Bootstrap中文文檔[EB/OL]. http://v2.bootcss.com/.