盧賽 虞其凱 何鍇翔 季立寰
【摘 要】二維碼技術是當前移動商務中的主要技術之一,而Android平臺是當前應用非常廣泛的移動終端平臺。本文介紹了QR二維碼的基本編碼原理,并在此基礎上基于Android平臺設計并實現(xiàn)了一個QR二維碼搜索軟件。
【關鍵詞】二維碼;QR碼;Android
0.引言
隨著3G網絡的普及,移動互聯(lián)網時代已經到來,移動商務得到了快速發(fā)展,給人們的生活帶來了極大的便利。無線終端(包括智能手機、平板電腦等)是移動互聯(lián)網和移動商務的重要載體。Android是用于Google公司推出的用于無線終端的操作系統(tǒng),提供了豐富的API接口,能夠方便地集成很多Google的服務。由于其開源的特性得到了廣泛認可,擁有較高的市場占有率。
移動商務的發(fā)展離不開二維碼技術。目前,二維碼在傳統(tǒng)商務活動和移動商務中都得到了較好的應用。典型的物流行業(yè)、票務和證件防偽等都利用了二維碼技術。目前以微信、微博為代表的各種社交類應用中已經紛紛推出二維碼功能,二維碼形式的廣告、電子消費券、電子交易憑證也都應運而生[1]。二維碼已經成為移動商務的重要組成部分。
1.QR二維碼的基本編碼原理
二維碼,即二維條碼,是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的。二維碼技術是在一維碼無法滿足實際應用需求的前提下產生的。由于受信息容量的限制,一維碼通常是對物品的標識,而不是對物品的描述。所謂對物品的標識,就是給某物品分配一個代碼,代碼以條碼的形式標識在物品上,用來標識該物品以便自動掃描設備的識讀,代碼或一維碼本身不表示該產品的描述性信息。
QR(Quick-Response)二維碼是目前應用較多的二維碼之一,解碼速度快。QR二維碼的基本結構如圖1所示。其中:位置探測圖形、位置探測圖形分隔符及定位圖形用于對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規(guī)格會有所差異。校正圖形的數(shù)量和位置根據(jù)規(guī)格確定。格式信息表示改二維碼的糾錯級別,分為L、M、Q、H。版本信息即二維碼的規(guī)格,QR碼符號共有40種規(guī)格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本 每邊增加4個模塊。數(shù)據(jù)和糾錯碼字實際保存的二維碼信息,和糾錯碼字(用于修正二維碼損壞帶來的錯誤)。[2]
圖1 QR二維碼的基本結構
QR二維碼的編碼過程中首先確定編碼的字符類型和糾錯等級,按相應的字符集轉換成符號字符。然后將數(shù)據(jù)字符轉換為位流,每8位一個碼字,整體構成一個數(shù)據(jù)的碼字序列。按需要將碼字序列分塊,并根據(jù)糾錯等級和分塊的碼字,產生糾錯碼字,并把糾錯碼字加入到數(shù)據(jù)碼字序列后面,成為一個新的序列,并按次序放如圖2所示的分塊中。最后將探測圖形、分隔符、定位圖形、校正圖形、碼字模塊、生成格式和版本信息放入相應區(qū)域內放入相應的區(qū)域。
圖2 QR二維碼分塊結構
2.QR二維碼搜索軟件的設計與實現(xiàn)
2.1開發(fā)環(huán)境[3]
Android平臺為開發(fā)者提供了源碼開放的軟件開發(fā)包(SDK),它包含了使用Java語言開發(fā)Android平臺應用的必要工具和組件(API)。Windows下開發(fā)Android應用程序的開發(fā)環(huán)境主要包括:JDK、Eclipse IDE、ADT擴展包以及Android SDK,其中ADT是一個基于Eclipse的Android開發(fā)工具擴展包(Android Development Tools plugin),Android SDK是Android程序開發(fā)包(Software Development Kit),包含Android手機模擬器。
2.2系統(tǒng)設計
實際上,目前用于移動商務中的手機端的二維碼識別軟件已經比較多了,但是這些軟件往往是某一個電子商務平臺APP中的一項功能,或者是單純的掃描軟件不結合具體的商務平臺。這些軟件的局限性就在于用戶無法選擇任意的電子商務平臺搜索,換言之,用戶必須安裝多個不同電商平臺的APP,且在不同的APP之間切換才能達到目的。
基于上述原因,本文設計一個能夠跨電子商務平臺搜索的二維碼識別軟件。該軟件主要包括以下兩項功能:
●掃描并識別QR二維碼:通過手機攝像頭掃描二維碼圖像,解碼該圖像。
●二維碼搜索:在主流的電子商務平臺和搜索引擎中搜索,包括淘寶、當當、京東商城、百度和谷歌搜索。
2.3系統(tǒng)實現(xiàn)
我們采用第三方包zxing[4]進行QR二維碼解碼。表1是QR二維碼解碼的關鍵代碼,表2是通過百度搜索的關鍵代碼,其他搜索谷歌、淘寶等的代碼類似。圖3是我們實現(xiàn)的軟件界面。
3.結束語
本文介紹了二維碼技術在移動商務中的應用概況,分析了QR二維碼的基本編碼原理,并基于當前的主流移動終端平臺Android設計并實現(xiàn)了一個QR二維碼搜索軟件。該軟件能夠通過掃描二維碼的形式在當前主流的電子商務平臺中搜索。 [科]
【參考文獻】
[1]季立寰,盧賽.二維碼在移動商務中的應用研究[J].科技致富向導,2013,(11).
[2]馮漢祿,黃穎為等.QR碼糾錯碼原理及實現(xiàn)[J].計算機應用,2011,34(Suppl.1):40-42.
[3]張云.Windows下Android應用程序開發(fā)環(huán)境搭建詳解[J].計算機時代,2013,(01):32-34.
[4]ZXing ("Zebra Crossing")第三方開發(fā)包.https://code.google.com/p/zxing/.