国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android平臺設備盤點客戶端的設計與實現(xiàn)

2016-07-04 20:01:29高毅
電腦知識與技術 2016年15期
關鍵詞:客戶端

高毅

摘要:現(xiàn)有的設備盤點大多是手工或者半手工的方式,這使得設備盤點的工作量大大增加。該文基于QR Code技術和Android技術,提出一種通過移動設備掃描設備上的條碼標簽來實現(xiàn)設備盤點的方法。該客戶端的實現(xiàn),提高了設備盤點的工作效率,對企業(yè)的設備管理有著重要的意義。

關鍵詞:Android;客戶端;QR Code;設備盤點

中圖分類號:TP319 文獻標識碼:A 文章編號:1009-3044(2016)15-0088-03

Abstract: Existing equipment inventory is mostly manual or semi-manual mode, which makes the equipment inventory workload increase greatly. In this paper, based on the QR Code technology and the Android technology, put forward a kind of via mobile devices scans the bar Code label on the equipment to realize the equipment inventory method. The client implementation, improve the efficiency of the equipment inventory, equipment management is of great significance to the enterprise.

Key words: Android; Client; QR Code; equipment inventory

隨著科學技術的不斷發(fā)展,企業(yè)生產(chǎn)水平的不斷提高,企業(yè)對設備種類的需求也日趨復雜,設備數(shù)量也日益龐大,這為企業(yè)設備管理提出了許多問題與挑戰(zhàn)[1]。然而,目前的設備管理系統(tǒng)相對落后,迫切需要結合先進穩(wěn)定的技術,開發(fā)出適于當前的設備管理系統(tǒng),以保證對設備的運行和維護過程實行科學化管理[2]?,F(xiàn)有的設備管理系統(tǒng)中的設備盤點功能大多沒有太好的處理方式,都是手工或者半手工的方式,這導致設備盤點工作量的大幅度遞增,并且,還會存在盤點錯誤。鑒于此種情況,本文基于QR Code技術和Android技術,提出一種通過移動設備掃描設備上的條碼標簽來實現(xiàn)設備盤點的方法。該方法使設備盤點的工作量大大減少,并能把人為錯誤降到最低。該客戶端的實現(xiàn),對企業(yè)的設備管理有很好的實際應用價值。

1 相關技術

1.1 QR Code

QR碼的“QR”是Quick Response 的縮寫。這種二維碼能夠快速讀取,與之前的條形碼相比,QR 碼能存儲更豐富的信息,包括對文字、URL 地址和其他類型的數(shù)據(jù)加密。QR碼1994年由日本Denso-Wave公司發(fā)明,QR碼的標準JIS X 0510在1999年1月發(fā)布,而其對應的ISO國際標準ISO/IEC18004,則在2000年6月獲得批準[3]。QR碼是屬于開放式的標準。

1.2 ZXing

ZXing是一個開源的開發(fā)庫,該庫支持條形碼的編碼和解碼。該庫支持的條形碼編碼格式有UPC-A、EAN-8、 EAN-13、 Code 39、 Code 128、 ITF、 Codabar、 Plessey、 MSI、 QR Code、 PDF-417、 Aztec、 Data Matrix;該庫支持的條形碼解碼格式有UPC-A、 UPC-E、 EAN-8、 EAN-13、 Code 39、 Code 93、 Code 128、 ITF、 Codabar、 MSI、 RSS-14 (all variants)、 QR Code、 Data Matrix、 Aztec and PDF-417;該庫的運行平臺有Java環(huán)境、Android環(huán)境等[4]。

ZXing庫中有幾個非常重要的類包,分別為CaptureActivity、CaptureActivityHandler、DecodeThread、com.google.zxing.client.android.camera、ViewfinderView。其中,CaptureActivity類,用來啟動條碼識別掃描器的類; CaptureActivityHandler類,用來調用條碼解碼線程的類; DecodeThread類,用來解碼條碼的線程的類; com.google.zxing.client.android.camera包,用來控制移動端攝像頭設備的包;ViewfinderView類,是負責實現(xiàn)自定義掃描控件的類。

2 系統(tǒng)設計

2.1 系統(tǒng)工作流程

設備驗收使用后,給設備編一個設備編號,根據(jù)該設備編號生成一個QR碼標簽,貼在設備上。一次設備盤點的時序圖如圖1所示,用戶通過客戶端掃描QR碼,解析出設備編號,根據(jù)設備編號向服務器端的Servlet發(fā)送查詢請求,Servlet運行doPost方法到數(shù)據(jù)庫中查詢信息,把查詢到的設備信息返回到客戶端,用戶核對設備信息,再根據(jù)盤點信息向服務器端的Servlet發(fā)送請求,把盤點信息記錄到數(shù)據(jù)庫中,并返回操作成功與否的標志信息。這就是一次設備盤點的工作流程,不斷地重復這一流程,直到盤點結束,就可以得到設備盤點結果,打印盤點報表,讓部門負責人簽字確認。

2.2 數(shù)據(jù)庫設計

設備盤點只是設備管理中的一個功能模塊,下面僅對和設備盤點相關的數(shù)據(jù)庫表做詳細介紹。為了滿足移動客戶端的設備盤點需求,設計如下的數(shù)據(jù)項和數(shù)據(jù)結構:

管理員信息表(工號,姓名,密碼,所屬部門編號,備注);其中,工號是主鍵;所屬部門編號是外鍵,來自部門信息表;使用工號和密碼進行登陸。

部門信息表(部門編號,部門名稱,辦公地點,部門負責人,負責人電話,備注);其中,部門編號是主鍵。

固定資產(chǎn)信息表(設備編號,設備名稱,規(guī)格型號,生產(chǎn)廠商,生產(chǎn)日期,附件,驗收日期,所屬部門編號,備注);其中,設備編號是主鍵;所屬部門編號是外鍵,來自部門信息表;驗收日期是填寫設備驗收后正式使用的日期;附件字段填寫設備的附屬配件信息。

盤點信息表(盤點編號,盤點類型,盤點日期,盤點結果,盤點部門編號,備注);其中,盤點編號是主鍵;盤點部門編號是外鍵,來自部門信息表;盤點類型取值為:月盤點、季度盤點和年度盤點。

盤點細目信息表(盤點細目編號,盤點編號,設備編號,設備狀態(tài),備注);其中,盤點細目編號是主鍵;盤點編號是外鍵,來自盤點信息表;設備編號是外鍵,來自固定資產(chǎn)信息表;設備狀態(tài)取值為:正常、待修、損毀、丟失、其他。

3 關鍵技術

3.1 QR Code掃描

掃描獲取QR碼信息首先要打開移動端設備的攝像頭,并通過Srufaceview來預覽;然后調用com.google.zxing.client.androdi.camera包中的相關方法來控制攝像頭自動對焦;再調用ZXing中的DecodeThread類的相關方法來進行解碼 [5]。在這一過程中,使用到線程機制,為了不堵塞Android的UI線程,要把解碼工作單獨放在一個線程中來實現(xiàn)。下面僅對回調方法handleQRCodeDecode作詳細描述。

public void handleQRCodeDecode (Result result, Bitmap QRcode) {

inactivityTimer.onActivity();

playBeepSoundAndVibrate();

String resultString = result.getText();

//若掃描結果為空,提示掃描失敗

if (resultString.equals("")) {

Toast.makeText(CaptureActivity.this, "掃描失?。?, Toast.LENGTH_SHORT).show();

}else {

Intent resultIntent = new Intent();

Bundle bundle = new Bundle();

bundle.putString("result", resultString);

resultIntent.putExtras(bundle);

//回傳掃描結果

this.setResult(RESULT_OK, resultIntent);

}

CaptureActivity.this.finish();

}

3.2 Android端與Web端的通信方式

Android與服務器通信通常采用HTTP通信方式和Socket通信方式[6]。在本系統(tǒng)中,我采用HTTP的通信方式。HTTP是一種無狀態(tài)協(xié)議,使用request對象來實現(xiàn)請求,使用response對象來實現(xiàn)響應,一次會話結束,客戶端和服務器端的鏈接就會自動關閉。

為了實現(xiàn)Android端和Web端的數(shù)據(jù)交互,我編寫了一個靜態(tài)方法,返回值為JSON類型,方法的頭部如下:

public static JSONArray dopost(String url,String [] parameter,String [] parameter_value,int len,String response_para)

其中,ur是服務器端servlet的地址,parameter是傳遞參數(shù)的名稱,parameter_value是傳遞參數(shù)的值,len是傳遞參數(shù)的個數(shù),respense_para是傳遞的標志。該方法的核心代碼如下:

for(int i=0;i

ns.add(new BasicNameValuePair(parameter[i], parameter_value[i]));

}

UrlEncodedFormEntity in;

try{

//設置編碼格式為UTF-8

in = new UrlEncodedFormEntity(ns,HTTP.UTF_8);

pj.setEntity(in);

rp = client.execute(pj);

//若響應結果不為空,就把響應結果拼接成字符串,再把字符串轉換為json數(shù)組返回;否則,返回null

if (rp.getEntity() != null) {//響應結果不為空

BufferedReader bufreader = new BufferedReader(new InputStreamReader(rp.getEntity().getContent(), HTTP.UTF_8));

StringBuffer sbuffer = new StringBuffer();

String row= bufreader.readLine();

while (row != null) {//把響應結果拼接成字符串,存儲于sbuffer中

sbuffer.append(row);

row= bufreader.readLine();}

bufreader.close();

//把sbuffer中存儲的字符串轉換為json數(shù)組并返回

JSONObject jsonobj = new JSONObject(sbuffer.toString());

jsonarr = jsonobj.getJSONArray(response_para);

return jsonarr;}

else{//響應結果為空

return null;}

}catch(Exception e){

return null;}

4 結束語

設備盤點客戶端的測試效果如圖2和圖3所示。

點擊掃描盤點按鈕調出二維碼掃描對話框對QR碼進行識別,根據(jù)識別到的設備編號到服務器查詢出設備信息顯示,用戶核對后,填選設備狀態(tài)信息,點擊保存按鈕,完成一次設備盤點,重復此操作過程,結束盤點時,點擊完成盤點按鈕,就可以得到如圖3所示的盤點結果信息,在盤點結果信息中,可以看到部門的這一次盤點的詳細信息,該部門總的設備數(shù)、正常數(shù)、待修數(shù)、損毀數(shù)、丟失數(shù)和其他情況的數(shù)量。該客戶端的實現(xiàn),提高了設備盤點的工作效率,對企業(yè)的設備管理有著重要的意義。

參考文獻:

[1] 郭云飛,黃東. 基于B/S模式的多層結構的電廠設備管理系統(tǒng)的設計[J]. 計算機與現(xiàn)代化,2004,12(12):119-119.

[2] 張慶. 基于狀態(tài)的設備管理系統(tǒng)的設計與實現(xiàn)[J]. 計算機工程與應用,2006,15(15):179-179.

[3] QR碼_百度百科[EB/OL]. http://baike.baidu.com/link?url=qBXGeJKmUY_Vq10BBl_Xsl-9b7ka8T2rwNfSNh_ox3fQHpqt RiKNv_DTIY7huSbu.

[4] ZXing[EB/OL]. https://github.com/zxing/zxing.

[5] 佘志龍,陳昱勛,鄭名杰,等.Google Android SDK開發(fā)范例大全[M]. 3版.北京:人民郵電出版社,2011:718-718.

[6] 左軍. Android程序設計經(jīng)典教程[M].北京:清華大學出版社,2015:311-311.

猜你喜歡
客戶端
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
傳媒評論(2019年5期)2019-08-30 03:50:04
縣級臺在突發(fā)事件報道中如何應用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
大樞紐 云平臺 客戶端——中央人民廣播電臺的探索之路
傳媒評論(2018年2期)2018-06-06 03:04:46
客戶端空間數(shù)據(jù)緩存策略
成武县| 凯里市| 博客| 鄂尔多斯市| 镇远县| 巴东县| 浦城县| 贵南县| 老河口市| 达州市| 修武县| 昌吉市| 乐业县| 静宁县| 乌兰浩特市| 化州市| 阳西县| 普格县| 仁寿县| 张家界市| 梅州市| 威海市| 永康市| 鹿泉市| 满城县| 聂荣县| 牟定县| 上思县| 浮山县| 鄯善县| 临武县| 特克斯县| 连城县| 天柱县| 吉林省| 嘉峪关市| 海门市| 乡城县| 资源县| 巴中市| 府谷县|