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