这(zhè)是Zxing 在Fragment中实现二维码扫描下载,二维码现在越来越(yuè)火爆,使用的越发广(guǎng)泛,对(duì)于二维码二维码的生成与解析,有(yǒu)多种途径,这里我(wǒ)选择用google老(lǎo)大的ZXing。
Zxing 在Fragment中实现二维码扫(sǎo)描(miáo)是(shì)其(qí)中刘(liú)超大神(shén)使(shǐ)用ZXing写了一个快速(sù)集成二维码扫描的工具类,实现其(qí)核心的实(shí)现扫描的功能。使用时(shí)通过调用二维码工具类(lèi),几行(háng)代码就可(kě)以实现二维码扫描的(de)功能。
•可打开默认二维码扫描(miáo)页面
•支(zhī)持对(duì)图(tú)片Bitmap的(de)扫描功能(néng)
•支持对UI的定制化操作
•支(zhī)持(chí)对条形码(mǎ)的(de)扫描功能
•支持生成二维码操作(zuò)
•支持控制闪光灯开关
最近项目有个需求是要在fragment中扫(sǎo)描二维码(mǎ),之前(qián)看到网上有资(zī)源是在Activity实现(xiàn)的(de),很好(hǎo)用(yòng),所以今天抽空把它改到fragment里面去了。
改的过(guò)程并没有很(hěn)复(fù)杂,就是(shì)把activity和fragment中(zhōng)有区(qū)别的地(dì)方抽象出来一个共用(yòng)的接口(kǒu),然后在activity和fragment中去不(bú)同的实(shí)现相(xiàng)关代码,然后在fragment中用getActivity()代替直接调用(yòng)。
启动扫描的(de)Activity是(shì)用startActivityForResult启动的,扫(sǎo)描完毕后,原来的是直接(jiē)setResult并且把Activity给finish掉,但是在fragment中,可能并不是这样的需(xū)求,我就把(bǎ)扫描结果用广播发出来了,反(fǎn)正扫描的结果也只(zhī)是一个String,开发者只需(xū)要在fragment中(zhōng)注册一个广播就好。
大概过程就是(shì)这样,具体也说不清,我(wǒ)把原来(lái)的项目和我改(gǎi)好的项目一起发给大(dà)家(jiā),大家看代码就知道了。
