生活中二维码扫描的例子并不少见,比如微信,QQ,支付宝,还有很多社交网站和购物网站,都会加入二维码扫描技术。可想而知这个技术是那么的重要。下面是笔者在学习中的一些总结,也是学习者,有不妥之处望诸君纠正。
开发之前准备的条件:
*导入zxing的library(对官方的精简库)
*解压后,将这个demo放在工程中(as中的话,在当前的工程中创建一个module将在zxing官方下载的demo引入其中即可)
关键代码片段:
*调用扫描activity,处理返回结果
@OnClick(R.id.btnStart)
public void startCapture(View view){
Intent intent = new Intent();
//CaptureActivity为zxing的library的activity
intent.setClass(this,CaptureActivity.class);
//CAPTURE_ACTIVITY_REQUEST为请求标识码,目的是为了返回来的结果和请求对应
startActivityForResult(intent, CAPTURE_ACTIVITY_REQUEST);
}
处理返回请求
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case CAPTURE_ACTIVITY_REQUEST:
if(resultCode == RESULT_OK)
{
//返回二维码的地址信息
String strResult = data.getStringExtra("result");
//返回二维码图
Bitmap bmResult = data.getParcelableExtra("bitmap");
//将返回来的二维码信息设置显示在界面上
tvResult.setText(strResult);
ivResult.setImageBitmap(bmResult);
}
break;
}