本發(fā)明具體涉及一種基于android架構的條碼掃描傳輸方法方法,屬于物聯網及通訊技術領域。
背景技術:
android是一種基于linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由于其開放性,豐富的硬件,易用的sdk(方便開發(fā)),不斷改善的交互界面,逐步完善的生態(tài)系統(tǒng)等優(yōu)點。隨之開發(fā)的應用軟件也在日益地豐富起來,android設備市場占有率逐漸攀升,已經超過了蘋果ios的增長勢頭。
隨著物聯網領域的快速發(fā)展,搭載能夠掃描條碼的服務程序廣泛運行于android系統(tǒng)中,運用于快遞,支付,設備管理等多領域。當前許多應用都是搭載自己的掃碼服務程序,數據也僅是應用內部使用或者應用實現特定接口后互相傳輸。傳統(tǒng)的條碼傳輸系統(tǒng)通過android系統(tǒng)廣播或者異步線程傳輸,其實時性、穩(wěn)定性不高而且大多依賴掃描服務提供接口或者方法給應用才能完成。
技術實現要素:
因此,本發(fā)明目的是提供一種基于android架構,在android架構上重寫掃描服務提供的接口方法并將android的四大組件之一活動(activity)作為中轉站注冊掃描服務中,當條碼掃碼成功后,可以傳輸到任一需要條碼數據的應用。該條碼掃描傳輸系統(tǒng)及方法具有不依賴系統(tǒng)應用(包括第三方應用)事先約定接口,并且應用都能實時、穩(wěn)定、準確的獲取到的條碼數據。
具體的,所述方法包括;
步驟一進入需要獲取條碼信息的應用中,焦點到可編輯文本框;
步驟二掃描條碼數據源,成功獲取條碼數據后,通過條碼掃描成功后的回調接口將條碼數據傳輸到android的中轉站;
步驟三androidframework層的activity作為條碼數據中轉站,獲取到當前應用活動界面的焦點,將掃描結果通過中轉站轉發(fā)到當前獲得焦點的應用的可編輯文本框中。
進一步的,所述步驟二中的條碼數據源包括一維,二維條碼。
進一步的,所述步驟二中使用物理按鍵、語音或手勢觸發(fā)掃描條碼。
本發(fā)明的有益效果在于:本發(fā)明的基于android架構的條碼掃描傳輸方法,該條碼掃描傳輸方法不依賴于任何應用,不需要向應用提供任何接口和方法,想獲取條碼的應用僅僅運行,應用的可編輯框獲得焦點時就可以拿到條碼數據,極大的消除了耦合性和應用開發(fā)量。應用只需要對獲取的條碼進行相關處理。通過使用條碼掃描成功后的回調接口嵌入android的activity中,activity通過條碼掃描成功后的回調接口作為中轉站可以做到實時傳輸,速度極快,區(qū)別于廣播(需要一定時間,特別是系統(tǒng)比較卡頓時比較費時,再者快速掃描通過廣播發(fā)送數據過于頻繁也可能導致系統(tǒng)卡頓,兩者相互作用)。通過使用條碼掃描成功后的回調接口嵌入android的activity中,提高傳輸的穩(wěn)定性,在數據比較多和頻繁時尤為明顯。
附圖說明
圖1為本發(fā)明的基于android架構的條碼掃描傳輸方法的系統(tǒng)框架圖;
圖2為本發(fā)明的基于android架構的條碼掃描傳輸方法的方法流程圖;
圖3為條碼傳輸系統(tǒng)構成圖。
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式進行說明:
本發(fā)明基于android架構,由條碼數據源、條碼掃描服務程序、條碼掃描傳輸中轉站、需要獲取條碼數據的應用,應用對條碼的后續(xù)處理組成。本發(fā)明重點在于掃描服務掃描數據后,android系統(tǒng)實時,穩(wěn)定,準確的將掃描服務的條碼數據傳輸到應用。
本發(fā)明總體框架如圖1所示:
條碼數據源:如常見的一維,二維條碼,如code39碼(標準39碼)、codabar碼(庫德巴碼)、upc-a碼、upc-e碼、ean-13碼(ean-13國際商品條碼)、ean-8碼(ean-8國際商品條碼)、等一維條碼和pdf417、qr碼等二維條碼。
條碼掃描服務程序:如開源項目zbar、zxing提供了相關的源碼,加入條碼掃描成功后的回調接口,提供給條碼傳輸中轉站;
條碼掃描傳輸中轉站:作為條碼數據傳輸的中轉站,首先重寫掃描服務的條碼掃描成功后的回調接口,其次注冊到掃描服務中,當掃描服務獲取到條碼數據后,發(fā)送到該中轉站,中轉站再發(fā)送到當前獲得焦點的應用中。
接收條碼數據的應用:接收條碼數據的應用為當前android設備上正在前端運行的應用。
處理條碼:應用根據獲取到的條碼進行相關后續(xù)處理工作。
圖2為本發(fā)明的基于android架構的條碼掃描傳輸方法的方法流程圖,具體流程為:
進入需要獲取條碼信息的應用(如一個快遞應用)中,焦點到可編輯的文本框。
掃描條碼(可以使用物理按鍵、語音或者手勢觸發(fā)掃描),成功獲取條碼數據后,通過條碼掃描成功后的回調接口將數據傳輸到android的中轉站。
androidframework層的activity(作為條碼數據中轉站),在android系統(tǒng)中,activity作為android四大組件之一,可以獲取到當前應用活動界面的焦點,我們可以判斷當前焦點是否為可編輯框,將掃描結果通過中轉站轉發(fā)到當前獲得焦點的應用的可編輯文本框(如接收快遞條碼編輯框)中。
應用獲取到可編輯框中的條碼數據進行后續(xù)處理(如通過快遞應用通過wifi發(fā)送該條碼到服務器或者存儲到當前設備)。
條碼傳輸系統(tǒng)構成為:將androidframework層的activity注冊和反注冊自己到掃描服務并重寫條碼掃描成功后的回調接口構成條碼傳輸系統(tǒng),所有工作在activity生命周期中完成,條碼傳輸系統(tǒng)構成圖如圖3所示,具體包括:
activity中重寫條碼掃描成功接口方法。該方法負責條碼的傳輸,傳輸的目的地為當前活動的應用的可編輯文本框(android架構中activity具有可以獲取到當前活動的應用的焦點的特性)。
注冊前臺活動界面activity(中轉站)到掃描服務:當activityonresume(運行到前臺時),activity作為中轉站注冊到掃描服務中。當掃描服務獲取到條碼數據時會立即通過條碼掃描接口經中轉站將條碼傳輸到目的地(當前活動的應用的的可編輯文本框中)。
反注冊后臺活動界面activity(前臺活動界面失去焦點后)到掃描服務:當activityonpause(運行到后臺時)如果當前應用發(fā)生了改變,那么當前應用的中轉站也要和掃描服務斷開連接。.
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。