android端快速生成二维码和进行二维码扫描

本文介绍了如何在Android端快速生成二维码并进行扫描。通过引入Google官方的二维码库,简化了移动开发者的操作。文章详细讲解了二维码扫描功能的实现,包括启动扫描、接收结果,并展示了如何使用静态方法快速生成二维码。

最近由于公司需求,需要生成自己的二维码,并且进行二维码扫描,对内容进行快速识别。找了很多关于二维码生成的例子看了一下,讲的都很详细。但是二维码的生成和识别都是底层代码实现,对于我们移动开发者来说为什么要关注底层的实现呢??只要能够调用,实现功能不就ok了?

接下来在github上发现了Google官方开源的二维码,条形码等等识别与生成的框架,而且支持多个端口,如果大家想要去研究,可以去摸索一下:google官网二维码库,这里讲的很详细,资源也很丰富。

但是,想要提取出最新android端二维码使用库就不是很容易了,毕竟资源太大了,不好去分离。因此,花了很久时间找到了一个android端最新版的完整依赖库,大家可以到这里去下载完整移动端二维码库,找到了库,接下来的工作就非常简单了。。

首先将该库引入到你的项目中,如下图中libqrcode:

这里写图片描述

接下来在主项目中添加其为依赖库,就这样,准备工作就完成了。。

首先我们先来实现二维码扫描功能,实现方法就很简单了,在布局中,我们放置一个按钮用于开始扫描二维码,放置一个文本框显示扫描结果即可:

xml文件布局

点击按钮的时候直接调用下面这个方法,即可进入扫描界面:

startActivityForResult(new Intent(getActivity(), CaptureActivity.class),0);

在onActivityResult方法中读取扫面信息:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode== Activity.RESULT_OK){
Bundle bundle = data.getExtras();
ToastUtil.showToast(getActivity(),bundle.getString(“result”));
}
}

我们可以去草料二维码生成一个二维码进行测试

接下来直接放测试效果

这里写图片描述

我用草料二维码生成了一个‘hello world‘的二维码,扫描得到其结果

这里写图片描述

接下来我们快速生成自己的二维码

在EncodingUtils文件中提供了下面这个静态方法用于客户端快速创建二维码:

 public static Bitmap createQRCode(String content, int widthPix, int heightPix, Bitmap logoBm)

第一个参数是生成二维码的内容(可以是任意字符串,超链接等等),第二三个参数表示生成二维码的宽度和高度(单位时px),使用微信的都知道,微信个人二维码中间会显示一张用户头像的图片,那最后一个参数就是这个啦,用户可以自定义。

接下来我们快速生成一个二维码吧:布局很简单

这里写图片描述

提供一个输入框,让用户输入用语生成二维码的内容,下面放置一个生成按钮,最下面的imageview用于我们显示生成的二维码。

当我们点击生成二维码按钮时,我们调用上面的方法,传入四个参数

Bitmap logoBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.myhead);
                Bitmap bitmap=EncodingUtils.createQRCode(mUname.getText().toString().trim(), 500, 500, logoBitmap);
                ResultImage.setImageBitmap(bitmap);

神奇的时刻出现了。。客户端瞬间生成了我们需要的二维码

这里写图片描述

这里我就不去扫描了,大家可以去试一下,扫描结果一定是你文本框输入的字符串。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值