先来看下效果图:



Android扫描和生成二维码可以使用Google开源项目:Zxing。其可以解析多种格式的1D/2D条形码。能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android等。

GitHub下载地址:https://github.com/zxing/zxing

其下载到的是一个庞大的工程,大小有120M多,需要编译后才能使用,如果仅仅是用在安卓扫描和生成二维码,网络上已经有人把其精简为一个library库,开发的时候只需要以library的形式导入到自己的工程中就可以了,这里我把链接给你:zxing下载

开发前准备工作:

1、把上面我给你的资源下载下来(ZxingBarCode),解压后倒入到eclipse中

2、在自己的app工程中添加相机和震动的权限,CaptureActivity的声明

3、把app与ZxingBarCode工程关联起来(如下图)




准备工作完成,下面进入正式的开发。

一、使用Zxing生成二维码:

使用的关键类为 EncodingHandler.createQRCode(info, 500),第一个参数为需要添加的字符串,第二个是图片的宽高。

<span style="font-size:10px;">	// 生成二维码
		case R.id.btnCreate:
			String info = editText.getText().toString();
			if (info.length() > 0) {
				try {
					// 生成二维码图片
					Bitmap bm = EncodingHandler.createQRCode(info, 500);
					imgv.setImageBitmap(bm);
				} catch (WriterException e) {
					e.printStackTrace();
				}

			} else {
				Toast.makeText(MainActivity.this, "请输入文字", Toast.LENGTH_LONG).show();
			}
			break;</span>

二、扫描二维码:

使用intent跳转到CaptureActivity类里,然后重写ActivityResulte方法。

	// 获取扫描返回的数据
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		if (Activity.RESULT_OK == resultCode) {
			// 获取返回的数据
			String result = data.getExtras().getString("result");
			txtv.setText(result);
		}

	}

扫描关注我的微信公众号:



如果觉得扫描界面不够美观,可以自己到CaptureActivity里面找到对应的布局文件进行修改,这里我就不演示了~~~~~~~~~~~~~

附上demo:点击下载

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐