Android 二维码 ZXing

Android二维码扫描


1.简介


Android的二维码扫描,实现的方法是ZXing二维码,在github上找到的2700多星星的大神写的,实现挺方便的(当然我这只做了一个简单的扫描功能,还没往下研究,做个记录)

github地址
https://github.com/search?o=desc&q=ZXing&s=stars&type=Repositories&utf8=%E2%9C%93

2.实现方法


首先,在build.gradle中加入依赖

compile 'cn.yipianfengye.android:zxing-library:2.2'

其次,在Application类里面初始化一下(一定要初始化,不然会提示项目错误,我碰到的是提示宽高不能小于0)

@Override
public void onCreate() {
    super.onCreate();

    ZXingLibrary.initDisplayOpinion(this);
}

在代码中执行打开扫描二维码界面操作,例如加一个button的点击事件,会直接跳转到依赖已经写好的CaptureActivity类里面,如下:

/**
     * 打开默认二维码扫描界面
     */
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
            startActivityForResult(intent, REQUEST_CODE);
        }
    });

这里的REQUEST_CODE是我们定义的int型常量。这个随便定义一下就可以了,用来传到扫描界面,扫描成功后还会再返回来,用来判断扫描成功的

在Activity中,复写一下onActivityResult方法,并在这个方法中接收扫描传回来的结果,这里是打印个吐司

/**
     * 处理二维码扫描结果
     */
    if (requestCode == REQUEST_CODE) {
        //处理扫描结果(在界面上显示)
        if (null != data) {
            Bundle bundle = data.getExtras();
            if (bundle == null) {
                return;
            }
            if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
                String result = bundle.getString(CodeUtils.RESULT_STRING);
                Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
            } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
            }
        }
    }

终结

这样就实现了最基本的二维码扫描功能! 当然这个一维码也是可以直接扫描的!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值