Android Zxing二维码扫描优化

关于Zxing的使用,网上有大量优秀的文章讲解,本文不再叙述。

用过Zxing的童鞋都知道Zxing扫描识别率较低,速度较慢。这里介绍一个第三方库,github地址为:

https://github.com/BayMax-Yi/BayMaxScanner该库基于zxing做了修改,优化二维码、条形码识别的速度。以及封装了生成二

维码,条形码功能。话不多说,先上效果图:

       扫描二维码


         扫描条形码


   生成二维码


  生成条形码



该库的使用步骤:

1.添加依赖

在Project的build.gradle下添加

allprojects {

         repositories {

                     ......

maven { url 'https://jitpack.io' }

         }

}

在app的build.gradle下添加

dependencies {

     ......

   implementation 'com.github.BayMax-Yi:BayMaxScanner:1.0.1' 

  }

3.在你的CaptureActivity中初始化PreviewHelper

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_capture);

    previewHelper = new PreviewHelper();

    previewHelper.setScanType( PreviewHelper.SCANTYPE_QR);

    previewHelper.setActivity(this);

    previewHelper.setSurfaceHolder(surfaceView.getHolder());

    previewHelper.setViewfinderView(viewfinderView);

    //Set onDecodeListener for PreviewHelper and deal the decoded result in onDecodeListener.onDecodedResult(Result)

    previewHelper.setOnDecodedResultListener(onDecodeListener);


    //setScanType  PreviewHelper.SCANTYPE_QR : Scan QrCode   

    //              PreviewHelper.SCANTYPE_BARCIDE : Scan BarCode 


    previewHelper.onCreate();

}

4.完成生命周期的回调

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    ......

    previewHelper.onCreate();

}

@Override

protected void onResume() {

    super.onResume();

    previewHelper.onResume();

}

@Override

protected void onPause() {

    super.onPause();

    previewHelper.onPause();

}

@Override

protected void onDestroy() {

    super.onDestroy();

    previewHelper.onDestroy();

}

OK,集成就这么简单,大功告成。

你可能感兴趣的:(Android Zxing二维码扫描优化)