Android 使用精簡(jiǎn)Zxing實(shí)現(xiàn)二維碼的掃描

? ? ? ?掃描二維碼的功能在現(xiàn)在的生活中已經(jīng)離不開了伍绳,支付購物或者是添加優(yōu)惠券的時(shí)候都會(huì)有用到。這不最近公司的項(xiàng)目需求就有了這個(gè),公司是賣電影票的踩叭,全國(guó)幾十家連鎖電影院,每個(gè)月都會(huì)發(fā)一些電影優(yōu)惠券或者兌換券給顧客(公司的線上活動(dòng)觀影福利和優(yōu)惠力度還是挺大的)翠胰,為了不讓顧客手動(dòng)輸入那么長(zhǎng)的一段優(yōu)惠券碼容贝,提高用戶體驗(yàn),就做了掃描二維碼或者條形碼直接識(shí)別優(yōu)惠券號(hào)的功能亡容,方便了用戶嗤疯,提高了用戶體驗(yàn)。

? ? ? 上GitHub上找Zxing的源碼(Zxing源碼地址)看了看實(shí)在是太繁瑣太復(fù)雜了闺兢,光是從里面去抽取代碼就會(huì)用很長(zhǎng)的時(shí)間茂缚,所以想找找看有沒有精簡(jiǎn)版的,我們這里只需要掃描識(shí)別就行了屋谭,不需要太多復(fù)雜的功能脚囊,然后就又找了找發(fā)現(xiàn)了這個(gè)(精簡(jiǎn)ZXing項(xiàng)目后只保留掃描功能的代碼,去除了ViewfinderView,使用XML布局)桐磁,代碼簡(jiǎn)單又好用悔耘,果斷下載下來,直接導(dǎo)入jar包我擂,然后拷貝相應(yīng)的功能代碼就可以了衬以。

? ? ? 代碼如下(項(xiàng)目開發(fā)用的是Eclipse ADT):

精簡(jiǎn)版zxing項(xiàng)目下載下來目錄結(jié)構(gòu)如下,

? ? ? 這個(gè)精簡(jiǎn)版的zxing目錄結(jié)構(gòu)簡(jiǎn)單明了校摩,然后直接把jar包導(dǎo)入看峻,再把camera、decode衙吩、utils幾個(gè)包導(dǎo)入到自己的項(xiàng)目互妓,這幾個(gè)包里面分別是,相機(jī)的應(yīng)用管理類坤塞、二維碼解析的類冯勉、手機(jī)振動(dòng)和聲音的管理類、還有一些回調(diào)的方法(導(dǎo)入這幾個(gè)包的時(shí)候摹芙,最好是自己新建一個(gè)包單獨(dú)放二維碼掃描的方法灼狰,利于管理和方便查看)。然后導(dǎo)入相應(yīng)的資源文件浮禾,再把AndroidManifest中相應(yīng)的權(quán)限都添加上去交胚。

? ? ?在說一下項(xiàng)目要實(shí)現(xiàn)的功能和流程坛悉,請(qǐng)看圖:

添加優(yōu)惠券的時(shí)候點(diǎn)擊彈出框的左上角,然后進(jìn)入二維碼掃描界面承绸,這段代碼就是簡(jiǎn)單的跳轉(zhuǎn):

由于是掃描完成以后要把獲取到的掃描結(jié)果填入到EditText的輸入框中裸影,所以用了startActivityForResult()方法,傳入?yún)?shù)军熏,然后回傳數(shù)據(jù)轩猩。CaptureActivity就是掃描的界面了,這個(gè)類中handleDecode方法可以解析二維碼并傳回我們想要的數(shù)據(jù):

然后再在前一個(gè)界面的onActivityResult(int requestCode, int resultCode, Intent data)方法中去取我們想要的數(shù)據(jù)就好了荡澎。

需要注意的是均践,一定要在AndroidManifest中配置相應(yīng)的權(quán)限和supports-screens,supports-screens這個(gè)元素用于指定應(yīng)用程序所支持的屏幕尺寸摩幔,并針對(duì)比應(yīng)用程序所支持的屏幕還要大屏幕彤委,啟用屏幕兼容模式。在應(yīng)用程序中使用這個(gè)元素指定應(yīng)用程序所支持的屏幕尺寸是至關(guān)重要的或衡。剛開始配置的時(shí)候忘了這個(gè)參數(shù)焦影,由于是從彈出框跳轉(zhuǎn)到掃描界面,所以沒配置的時(shí)候的掃描界面的寬度就跟我上面的彈出框的寬度一樣了封断,不是全屏的斯辰,這顯然是不行的。參數(shù)配置好以后就能夠全屏顯示了坡疼。

最后彬呻,二維碼掃描這個(gè)功能很實(shí)用,而且網(wǎng)上關(guān)于這些的代碼也很多柄瑰,功能實(shí)現(xiàn)也很簡(jiǎn)單(畢竟用的是現(xiàn)成的第三方嘛)闸氮,如果只是用到掃描識(shí)別的話,就用上面的精簡(jiǎn)版的zxing就可以滿足需求了教沾。但是有一點(diǎn)蒲跨,這個(gè)精簡(jiǎn)版的已經(jīng)好久沒有更新代碼了,如果覺得它的識(shí)別速度或者在識(shí)別圖案的時(shí)候難度有點(diǎn)高了详囤,可以自己多看看zxing 的源碼(源碼是一直有人更新和維護(hù)的)财骨,然后自己從中去抽取相應(yīng)的功能代碼镐作,這也是提高自己能力的一種方式藏姐。謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末该贾,一起剝皮案震驚了整個(gè)濱河市羔杨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杨蛋,老刑警劉巖兜材,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件理澎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡曙寡,警方通過查閱死者的電腦和手機(jī)糠爬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來举庶,“玉大人执隧,你說我怎么就攤上這事』Ы模” “怎么了镀琉?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵蕊唐,是天一觀的道長(zhǎng)屋摔。 經(jīng)常有香客問我,道長(zhǎng)替梨,這世上最難降的妖魔是什么钓试? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上滞谢,老公的妹妹穿的比我還像新娘狮杨。我一直安慰自己,他們只是感情好喘漏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布堤魁。 她就那樣靜靜地躺著赏表,像睡著了一般间狂。 火紅的嫁衣襯著肌膚如雪何鸡。 梳的紋絲不亂的頭發(fā)上骡男,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天淆游,我揣著相機(jī)與錄音,去河邊找鬼隔盛。 笑死犹菱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吮炕。 我是一名探鬼主播腊脱,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼龙亲!你這毒婦竟也來了陕凹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤鳄炉,失蹤者是張志新(化名)和其女友劉穎杜耙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迎膜,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泥技,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年浆兰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磕仅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珊豹。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖榕订,靈堂內(nèi)的尸體忽然破棺而出店茶,到底是詐尸還是另有隱情,我是刑警寧澤劫恒,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布贩幻,位于F島的核電站,受9級(jí)特大地震影響两嘴,放射性物質(zhì)發(fā)生泄漏丛楚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一憔辫、第九天 我趴在偏房一處隱蔽的房頂上張望趣些。 院中可真熱鬧,春花似錦贰您、人聲如沸坏平。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舶替。三九已至,卻和暖如春杠园,著一層夾襖步出監(jiān)牢的瞬間顾瞪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工抛蚁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玲昧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓篮绿,卻偏偏與公主長(zhǎng)得像孵延,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亲配,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,734評(píng)論 25 707
  • 摘要 最近尘应,公司業(yè)務(wù)上有個(gè)生成二維碼圖片的需求(Android端),之后筆者在網(wǎng)上查閱了一些資料吼虎,實(shí)現(xiàn)了這個(gè)功能犬钢。...
    夢(mèng)想編織者灬小楠閱讀 45,512評(píng)論 37 132
  • (調(diào)姿)貓式跪立在墊子上,雙膝打開與髖寬思灰,大腿垂直于地面玷犹,腳背貼地,雙手打開與肩寬洒疚,手臂垂直于地面歹颓,雙手均勻壓實(shí)地...
    牛奶瓶子啦閱讀 640評(píng)論 0 0
  • 不知不覺24天過去了坯屿,參加自控力lab學(xué)到的最多的東西是:離開舒適區(qū)去接納那些自己排斥的好東西,然后找方法去改變一...
    蕭Alley閱讀 207評(píng)論 0 0
  • p2p綜合排名_華融道理財(cái) p2p綜合排名_華融道理財(cái) p2p綜合排名_華融道理財(cái)
    蔣叫剛17523閱讀 214評(píng)論 0 0