生成和扫描二维码(ZXing库)

本文介绍了如何在Android Studio项目中整合并使用ZXing库进行二维码的生成与扫描。首先,文章概述了ZXing库及其功能。接着详细讲述了ZXing框架的整合步骤,包括导入jar包、复制源码、修改资源和权限设置。在界面设计部分,提到了涉及的布局文件。然后,展示了如何创建CreateUtil类以生成二维码。最后,讨论了在MainActivity中实现二维码扫描的代码实现。
摘要由CSDN通过智能技术生成

生成和扫描二维码(ZXing库)

一、ZXing概述

ZXing是谷歌自己推出的一个开源源码的二维码框架,可以实现使用手机的摄像头完成条形码的扫描和解码。

二、整合ZXing框架

  1. 将预先获取的core-3.4.0.jar包复制到工程的app\libs目录,刷新,然后添加依赖

  2. 集成java源码,将demo工程QrScan中app\src\main\java目录下包中的zxing和util复制到本工程对应的app\src\main\java的包下

  3. 然后修改package包名,修改import路径,修改类包名

  4. 同步资源,复制资源目录

    drawable:btn_back.png,flash_off.png,flash_on.png

    layout:复制activity_capture.xml,activity_scanner.xml,toolbar_scanner.xml

    raw:全部复制

    values:复制/替换其中的attrs.xml,ids.xml,colors.xml

  5. 修改工具栏框架包和ViewFinderView包路径

  6. 打开开发权限,在清单文件中添加开发权限

        <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
        <uses-permission android:name="android.permission.CAMERA"></uses-permission>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    
    
            <activity android:name=".zxing.activity.CaptureActivity"></activity>
    
  7. 最后运行一下工程,如果不出现错误则整合成功

三、界面设计

activity_main.xml

<com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</com.google.android.material.appbar.AppBarLayout>

<include layout="@layout/content_main" />

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    app:srcCompat="@android:drawable/ic_dialog_email" />

content_main.xml

<TextView
    android:id="@+id/myTextView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="48dp"
    android:hint="扫描结果"
    android:textSize
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值