`
wangym
  • 浏览: 124574 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基于zxing-lib三步实现Android二维码应用

阅读更多

只需要基于开源项目zxing-lib,便可轻松创建独立二维码App,也可将二维码功能集成进App内。本文也是zxing-lib的使用文档。同时抛砖引玉,欢迎大家一起共建zxing-lib。

 

项目地址:https://github.com/wangym/zxing-client-android

遵循协议:Apache License Version 2.0

简介:zxing-lib是一款开源二维码扫码库,基于ZXing进行剪裁和二次开发,支持更多的个性扩展功能,全库仅52KB,以Android library project输出,能被快速使用和集成。

 

 

(以下步骤基于已有Android开发经验为前提)

 

1、环境准备:

检出zxing-lib项目并导入IDE

git clone git@github.com:wangym/zxing-client-android.git

导入IDE后将zxing-lib设为Android library project,并以library方式引入你正在开发的Android代码工程内

 

2、调用扫码:

调用zxing-lib库的扫码界面

/**
 * @author yumin
 */
public class MainActivity extends Activity {

    /**
     *
     */
    private static final int REQUEST_CODE = 200;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        //......
        initActivity();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (null != data && requestCode == REQUEST_CODE) {
            switch (resultCode) {
                case Activity.RESULT_OK:
                    data.setClass(this, CaptureResultActivity.class);
                    startActivity(data);
                    break;
                default:
                    break;
            }
        }
    }

    private void initActivity() {

        //......
        Button btnScanUtf8 = (Button) findViewById(R.id.scan_utf_8);
        btnScanUtf8.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View view) {
                callCapture("UTF-8");
            }
        });
    }

    private void callCapture(String characterSet) {

        Intent intent = new Intent();
        intent.setAction(Intents.Scan.ACTION);
        // intent.putExtra(Intents.Scan.MODE, Intents.Scan.QR_CODE_MODE);
        intent.putExtra(Intents.Scan.CHARACTER_SET, characterSet);
        intent.putExtra(Intents.Scan.WIDTH, 600);
        intent.putExtra(Intents.Scan.HEIGHT, 400);
        // intent.putExtra(Intents.Scan.PROMPT_MESSAGE, "type your prompt message");
        intent.setClass(this, CaptureActivity.class);
        startActivityForResult(intent, REQUEST_CODE);
    }
}

调用CaptureActivity即可呼出扫码界面,支持设定个性参数,当扫码成功后返回到CaptureResultActivity

 

3、获取结果:

获取二维码扫码之后的结果

/**
 * @author yumin
 */
public class CaptureResultActivity extends Activity {

    /**
     *
     */
    private TextView tvResult;
    private TextView tvResultFormat;
    private TextView tvUri;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        //......
        initActivity();
        initData();
    }

    private void initActivity() {

        tvResult = (TextView) findViewById(R.id.tv_result);
        tvResultFormat = (TextView) findViewById(R.id.tv_result_format);
        tvUri = (TextView) findViewById(R.id.tv_uri);
    }

    private void initData() {

        Intent intent = getIntent();
        if (null != intent) {
            tvResult.setText(intent.getStringExtra(Intents.Scan.RESULT));
            tvResultFormat.setText(intent.getStringExtra(Intents.Scan.RESULT_FORMAT));
            tvUri.setText(intent.toUri(intent.getFlags()));
        }
    }
}

二维码扫码成功后调出CaptureResultActivity,上例将结果直接显示,本质上是通过Intent获取扫码结果的

 

 

完整示例见zxing-lib-example。但请不要局限于示例中的使用方式,比如在二维码扫码成功后,并非只能通过一个Activity才能取到扫码的结果。请结合具体场景灵活运用。

 

如有任何疑问或建议,请随时联系我 :)

分享到:
评论

相关推荐

    自用Zxing库 Zxing-lib

    在Android开发中,Zxing库是一个常用的选择,它为开发者提供了便捷的条码扫描功能,使得用户可以通过手机摄像头快速识别和处理条码或二维码信息。 一、Zxing库的安装与集成 在Android项目中使用Zxing库,首先需要...

    Android zxing生成 扫描二维码(依赖形式)

    以上就是如何在Android应用中使用ZXing库以依赖形式引入,实现二维码的扫描和生成。这个库不仅易于集成,而且功能强大,能够满足大多数二维码处理需求。在实际开发中,还可以根据项目需求进行更深度的定制和优化,...

    zxing-cpp.rar

    - 移动应用:例如,为Android或iOS应用添加扫描二维码或条形码的功能。 - 桌面应用:如文件管理器扩展,能够直接扫描文件夹中的条码并执行相应操作。 - 服务器端处理:用于处理上传的图像,识别其中的条码信息。 - ...

    zxing-lib.rar

    在给定的“zxing-lib.rar”压缩包中,我们可能找到了ZXing库的Java实现,这对于开发需要处理条形码和二维码的应用程序来说是非常有用的。 ZXing库主要包含了以下几个关键组件: 1. **核心解码引擎**:这是ZXing的...

    Android实现二维码扫描功能(四)-ZXing识别图片二维码,相册选图(新版)

    Android实现二维码扫描功能(四)-ZXing识别图片二维码,从相册中选择图片并识别图中二维码,详见:http://blog.csdn.net/ahuyangdong/article/details/77487650,持续更新的版本:...最新的lib版本:...

    Android实现二维码扫描功能(二)-ZXing个性化与扫码效率优化

    Android对ZXing扫码工具界面定制和扫码效率优化做了讲解,博客地址http://blog.csdn.net/ahuyangdong/article/details/76407722。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib

    android扫描二维码及zxing框架lib

    本篇将深入探讨ZXing框架在Android中的应用以及如何实现二维码扫描。 1. **ZXing框架介绍** ZXing,又称“斑马横道”,最初由Google开发并维护,现已成为一个独立的开源项目。该框架支持多种编码格式,包括但不...

    android二维码开发 ZXing(中文乱码已处理)

    在Android平台上进行二维码开发时,...以上是关于"android二维码开发 ZXing(中文乱码已处理)"的相关知识点,希望对您的开发工作有所帮助。记得在实际使用时,根据项目需求进行适当的定制和优化,以获得最佳的效果。

    ZXing2.2使用的例子工程导入即可使用

    2.lib文件夹下的zxing-2.2-client.jar和zxing-2.2-core.jar 为依据 ZXing-2.2.zip 中的core包和javase包的源码导出的jar 3.需要使用JDK1.6 4.本工程实现二维码的生成和读取(文件读取方式,非摄像头读取),支持...

    zxing-android-eclipse-lib

    这个项目是 eclipse 中 zxing for android 的一个残酷分支。 进行大量编辑以使代码符合 Java 1.6。 zxing 项目使用 Java 1.7 它生成一个单独的 jar 文件,如果您需要,您可以从 bin 目录中获取该文件。 如果您想在...

    zxing C++ 生成识别二维码库 32位/64位静态编译库

    ZXing(Zebra Crossing)是一个开源的、多平台的一维和二维条码读取库,支持多种编码格式,包括常见...无论是进行桌面应用开发还是嵌入式系统开发,ZXing都是一个值得信赖的工具,能够帮助你快速实现二维码相关的功能。

    zxing-lib-portrait:ZXing lib 用于纵向和横向扫描

    总的来说,ZXing库提供了强大的条码和二维码扫描功能,而zxing-lib-portrait针对Android设备的屏幕方向进行了优化,使得在Android应用中集成条码扫描变得更加便捷。开发者需要理解如何与ZXing库交互,以及如何根据...

    Android lib zxing 3.3.2

    **Android Lib Zxing 3.3.2:深入解析与应用** ZXing,全称“Zebra Crossing”,是一个开源的、跨平台的条形码和二维码读取与生成库。ZXing库最初由Google开发,旨在提供一种简单、高效的方式来处理一维条形码和二...

    zxing自己写的关于扫描二维码的例子

    本示例是关于如何利用ZXing框架在Android应用中实现二维码扫描功能的实例。以下将详细介绍如何操作和理解这个例子: 1. **ZXing库介绍**: ZXing(读作“zebra crossing”)是一个由Google开发的项目,提供了跨...

    Android实现二维码扫描功能(三)-闪光灯控制

    Android实现二维码扫描功能(三)-闪光灯控制文章源码。详见:http://blog.csdn.net/ahuyangdong/article/details/76793151。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib

    Android实现二维码扫描功能-ZXing插件接入

    Android二维码扫描功能开发,采用ZXing插件实现,详见:http://blog.csdn.net/ahuyangdong/article/details/76405557。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib

    条形码二维码Zxing-core-3.0.0核心包下载

    这是编译过的zxing 3.0.0 核心包文件 将核心包导入到 android/lib/目录下即可

    安卓zxing 代码demo

     其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。使用时通过调用二维码工具类,几行代码就可以实现二维码扫描的功能! 一、实现对二维码的扫描 使用步骤: 1.在module的...

    Android zxing生成 扫描二维码(含有源码lib)

    本文将详细介绍如何在Android项目中使用ZXing来实现扫描二维码的功能,并提供含源码的lib资源。 首先,我们需要在项目中添加ZXing库。通常,我们可以使用Gradle依赖管理来引入ZXing的Android端库,这样可以方便地...

    zxing和zbar的综合版本很高效的二维码扫描

    2. **创建扫描界面**:根据需求设计和实现扫描界面,可以基于ZXing的CaptureActivity进行改造。 3. **选择扫描引擎**:编写逻辑判断,根据特定条件选择ZXing或ZBar进行扫描。 4. **处理扫描结果**:接收到扫描结果后...

Global site tag (gtag.js) - Google Analytics