ZXing使用

原创 2016年08月29日 11:47:04

ZXing的使用

ZXing项目GitHub地址:ZXing
ZXing Lib GitHub地址:ZXingLib

参考文章:ZXing使用全解析


  • 下载封装好的ZXingLib

  • Import Module libzxing

    ImportModule

  • 添加依赖

    Dependencies

  • Sample代码

ZXingActivity.java

package com.silion.androidproject.zxing;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.silion.androidproject.R;
import com.xys.libzxing.zxing.activity.CaptureActivity;
import com.xys.libzxing.zxing.encoding.EncodingUtils;

public class ZXingActivity extends AppCompatActivity {
    private TextView resultTextView;
    private EditText qrStrEditText;
    private ImageView qrImgImageView;
    private CheckBox mCheckBox;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zxing);

        resultTextView = (TextView) this.findViewById(R.id.tv_scan_result);
        qrStrEditText = (EditText) this.findViewById(R.id.et_qr_string);
        qrImgImageView = (ImageView) this.findViewById(R.id.iv_qr_image);
        mCheckBox = (CheckBox) findViewById(R.id.logo);

        Button scanBarCodeButton = (Button) this.findViewById(R.id.btn_scan_barcode);
        scanBarCodeButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //打开扫描界面扫描条形码或二维码
                Intent openCameraIntent = new Intent(ZXingActivity.this, CaptureActivity.class);
                startActivityForResult(openCameraIntent, 0);
            }
        });

        Button generateQRCodeButton = (Button) this.findViewById(R.id.btn_add_qrcode);
        generateQRCodeButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                String contentString = qrStrEditText.getText().toString();
                if (!contentString.equals("")) {
                    //根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小(350*350)
                    Bitmap qrCodeBitmap = EncodingUtils.createQRCode(contentString, 350, 350,
                            mCheckBox.isChecked() ?
                                    BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher) :
                                    null);
                    qrImgImageView.setImageBitmap(qrCodeBitmap);
                } else {
                    Toast.makeText(ZXingActivity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            Bundle bundle = data.getExtras();
            String scanResult = bundle.getString("result");
            resultTextView.setText(scanResult);
        }
    }
}

布局activity_zxing.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="@android:color/white"
              android:orientation="vertical">

    <Button
        android:id="@+id/btn_scan_barcode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="Start Scan"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Result:"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/tv_scan_result"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="@android:color/black"
            android:textSize="18sp"/>
    </LinearLayout>

    <EditText
        android:id="@+id/et_qr_string"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:hint="Input the text"/>

    <Button
        android:id="@+id/btn_add_qrcode"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Generate QRcode"/>

    <CheckBox
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Logo"/>

    <ImageView
        android:id="@+id/iv_qr_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@mipmap/ic_launcher"/>

</LinearLayout>

zxing使用vs2015编译的x86的Release的lib和全部include文件

  • 2017年05月24日 11:19
  • 882KB
  • 下载

集成ZXing二维码第三方库的使用和常见错误问题解析和步骤

由于原生的比较大所以就参考精简的ZXing,基本能满足开发中使用: 生成与解析主要引用参考一片枫叶这: https://github.com/yipianfengye/android-zxingLib...
  • u012993796
  • u012993796
  • 2016年08月30日 17:50
  • 3278

Android实战——Zxing实现二维码扫描

教你用Zxing实现二维码扫描 前言: 本篇文章从初学者的角度出发,从一个不知道对二维码扫描怎么下手的工作者,需要一个简单的扫描功能的话,可以阅读该篇文章。作为Google开源框架Zxing,里面...
  • qq_30379689
  • qq_30379689
  • 2016年09月02日 10:17
  • 21592

Android使用ZXing扫描二维码,并返回二维码结果

1.首先到https://github.com/zxing/zxing上下载zxing最新版本是3.3.1 2.解压zxing,我们主要使用下图所示的两个目录 3.把上图中的两个目录中的代...
  • easyboot
  • easyboot
  • 2017年11月10日 15:25
  • 477

第三方ZXing库zxing-android-embedded使用及自定义

一、关于ZXing现在一维码二维码在我们的日常生活中使用如此的广泛,所以拥有扫码功能的APP变得非常普遍,一个安卓APP需要扫码功能就要用到zxing了,zxing是谷歌开源的让开发者更方便使用摄像头...
  • u010618194
  • u010618194
  • 2017年09月08日 09:55
  • 1706

ZXing库的使用及相应的修改

最近项目中需要一个二维码扫描,以前集成过由于时间太长忘记了,于是去github上去寻找ZXing的项目demo,这里把源项目的地址和我修改后的项目地址列举了下来,有需要的小伙伴可以去下载,源项目是ec...
  • xiaohai695943820
  • xiaohai695943820
  • 2017年09月29日 11:24
  • 282

关于Zxing的详细使用过程介绍

一、   二维码实现 本文使用ZXing 1.6实现条码/二维码识别。ZXing是个很经典的条码/二维码识别的开源类库,很早就有开发者在J2ME上使用ZXing了,不过要支持JSR-234规范(...
  • shdhenghao3
  • shdhenghao3
  • 2014年11月14日 09:39
  • 13740

LibZXing二维码扫描/生成库,基于ZXing最新版3.3的封装

LibZXing 二维码扫描、生成库转载请注明出处,http://blog.csdn.net/qq137722697 基于 ZXing:core_v3.3.0(最新版) 的封装,扫描速度快 可选相册中...
  • qq137722697
  • qq137722697
  • 2017年06月30日 21:59
  • 2985

libzxing二维码开发框架

  • 2016年04月15日 14:40
  • 998KB
  • 下载

一扫天下——ZXing使用全解析

一扫天下——ZXing使用全解析 二维码XXXXX 网上很多都是基于ZXing2.3的,但是现在都3.1了,改了很多bug,也进行了很多优化,最好按本文弄一下。 参拜ZXing ZXing的g...
  • x359981514
  • x359981514
  • 2015年08月23日 17:06
  • 15173
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ZXing使用
举报原因:
原因补充:

(最多只允许输入30个字)