Android 如何快速掃描條碼以及產生QR Code?


開發Android時常會需要應用到條碼讀取或是產生的功能,如果是自己寫一支條碼讀取和產生的功能的話會牽扯到許多相機應用、影像辨識以及條碼結構的問題需要去了解,費時費力,也不見得能做得出來。因此本篇文章將提供一個比較快速的方式,在Android App中實作出條碼掃描和產生的功能。

CodeScanner

CodeScanner是一個Java類別(Class),可以快速地使用簡易條碼掃描器來協助App掃描或是讀取條碼。

程式如下:

CodeScanner使用方式十分簡單,一開始要先傳入Activity或是Fragment以及CodeReaderListener將其實體化(new)出來,如下:

接著可以對CodeScanner進行一些設定,像是要掃描的條碼類型(一維條碼、二維條碼、QR Code等)、要接受的條碼內容(條碼內容的開頭必須符合設定才會完成掃描)、是否直接使用小範圍掃描(增大掃描成功率)。如下:

再來覆寫(Override)Activity或是Fragment的onActivityResult方法,將CodeScanner的onActivityResult方法加進去。如下:

之後就可以在任何想要開啟掃描的地方呼叫CodeScanner物件的scan方法,就可以開始進行條碼掃描了。如下:

不管掃描有沒有結束,當掃描器被關閉的時候,都會呼叫CodeReaderListener的codeReadResult方法,可處理後續的動作。

QRCodeEncoder

QRCodeEncoder是一個Java類別(Class),可以快速地使用簡易條碼掃描器來協助App產生QR Code。

程式如下:

QRCodeEncoder不需要實體化即可使用,只要呼叫encode方法並傳入activity和要產生的條碼內容,就可以產生QR Code出來。如下:

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章