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