二维码的生成以及长按识别

时间:2022-11-16 23:30:54

感觉又有好久没写过博客了,最近感觉在二维码这方面又有些生疏了,所以将以前的项目中用到的二维码拿出来又看了一遍,感觉以后可能要用的着,而且发现了个重大的BUG,于是改正了过后,将其记录在此。

肯定很多人觉得为什么不将扫码也一起写了,我开始也是这么想的,后来觉得还是算了,我曾经用过Libzxing 这个二维码扫描库,但是我感觉它的效率没有自己基于zbar封装的速度快,所以,项目里面关于二维码扫描,我基本上都是用的Zbar,但是zbar不支持生成二维码,而且用zxing也比较简单,所以,我将二维码按照所用的第三方库不同分开来写。

1、首先去github上面将zxing切下来,将里面的核心jar文件复制在lib文件夹里面,然后导入项目中,基本工作就做完了。
2、新建一个类QRCodeUtils
二维码的生成以及长按识别
这个方法返回的就是一张二维码图片,然后在外部调用的时候,直接传入字符串,和二维码边长就可以了

3、简单的生成二维码就可以了,调用createQRCode()方法,将返回的二维码图片放在我们ImageView里面就可以显示出来。找到这个控件设置它的长按监听。
二维码的生成以及长按识别

如图所示,就可以很简单的实现长按识别二维码码了,具体的优化我没有做,这个优化看每个人的需求,比如什么弹出框啊,什么的,根据需求自己更改就行了,如果生成的图像要求质量不那么高的话,生成Bitmap时,可以设置成ARGB_4444或者ARGB_565,这样可以防止oom。