• zxing 扫一扫 实用工具效率很高


    https://github.com/jenly1314/ZXingLite

    ZXingLite for Android 是ZXing的精简版,基于ZXing库优化扫码和生成二维码/条形码功能,扫码界面完全支持自定义,也可一行代码使用默认实现的扫码功能。总之你想要的都在这里。

    Maven:

    <dependency>
      <groupId>com.king.zxing</groupId>
      <artifactId>zxing-lite</artifactId>
      <version>1.1.1</version>
      <type>pom</type>
    </dependency>
    

    Gradle:

    implementation 'com.king.zxing:zxing-lite:1.1.1'

    Lvy:

    <dependency org='com.king.zxing' name='zxing-lite' rev='1.1.1'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>
    
    如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
    allprojects {
        repositories {
            maven { url 'https://dl.bintray.com/jenly/maven' }
        }
    }

    引入的库:

    compileOnly 'com.android.support:appcompat-v7:28.0.0'
    api 'com.google.zxing:core:3.3.3'

    示例

    布局示例 (可自定义布局,布局内至少要保证有SurfaceView和ViewfinderView,控件id可根据重写CaptureActivity 的 getPreviewViewId 和 getViewFinderViewId方法自定义)

        <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <SurfaceView
                android:id="@+id/surfaceView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
            <com.king.zxing.ViewfinderView
                android:id="@+id/viewfinderView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
    
        </FrameLayout>

    代码示例 (二维码/条形码)

        //跳转的默认扫码界面
        startActivityForResult(new Intent(context,CaptureActivity.class),requestCode);
    
        //生成二维码
        CodeUtils.createQRCode(content,600,logo);
        //生成条形码
        CodeUtils.createBarCode(content, BarcodeFormat.CODE_128,800,200);

    如果直接使用CaptureActivity需在您项目的AndroidManifest中添加如下配置

        <activity
            android:name="com.king.zxing.CaptureActivity"
            android:screenOrientation="portrait"/>

    快速实现扫码有以下几种方式:

    1、直接使用CaptureActivity或者CaptureFragment。(纯洁的扫码,无任何添加剂)

    2、通过继承CaptureActivity或者CaptureFragment并自定义布局。(适用于大多场景,并无需关心扫码相关逻辑)

    3、在你项目的Activity或者Fragment中创建创建一个CaptureHelper并在相应的生命周期中调用CaptureHelper的周期。(适用于想在扫码界面写交互逻辑,又因为项目架构或其它原因,无法直接或间接继承CaptureActivity或CaptureFragment时使用)

    4、参照CaptureHelper写一个自定义的扫码帮助类,其它步骤同方式3。(扩展高级用法,谨慎使用)

    更多使用详情,请查看app中的源码使用示例

    版本记录

    v1.1.1:2019-5-20

    • 支持扫二维码过小时,自动缩放
    • 支持垂直条形码识别(增强条形码识别,默认不支持,需CaptureHelper.supportVerticalCode(true)开启)

    v1.1.0:2019-4-19

    • 将扫码相关逻辑与界面分离,ZXingLite使用更容易扩展
    • 新增CaptureFragment

    v1.0.7:2019-4-9

    • 新增网格样式的扫描激光(类似支付宝扫码样式)
    • 升级Gradle至v4.6

    v1.0.6:2019-1-16

    • 支持连续扫码
    • 支持横屏扫码(主要为了支持Pad)

    v1.0.5:2018-12-29

    • 支持自定义扫码框宽高

    v1.0.4:2018-12-19

    • 修改text相关自定义属性,如:text->labelText

    v1.0.3:2018-11-20

    • 支持触摸缩放变焦

    v1.0.2:2018-9-12

    • 支持条形码下方显示显示code
    • 优化相机预览尺寸遍历策略,从而降低预览变形的可能性

    v1.0.1:2018-8-23

    • 优化扫码识别速度

    v1.0.0:2018-8-9

    • ZXingLite初始版本
  • 相关阅读:
    缓存(二)
    缓存
    SQL Server 导入大数据脚本
    C#执行OracleHelper
    MERGE 用法
    c# 高效读写文件
    C#网络编程
    C#常用IO流与读写文件
    注册asp.net 4.0 到iis
    javascript原生图片懒加载
  • 原文地址:https://www.cnblogs.com/zhangqingquan/p/10956879.html
Copyright © 2020-2023  润新知