Advertisement

Android平台上的ZBar和ZXing二维码扫描封装比较

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文对比分析了Android平台上常用的两个二维码扫描库——ZBar和ZXing的功能特性、性能优劣及应用场景,帮助开发者选择合适的二维码解析工具。 最近工作中增加了一个二维码扫描功能,在集成zxing后发现识别效果不尽如人意。因此我特意找了两个封装库进行了测试,并制作了示例程序(demo),分别是zbar与zxing的封装版本,最终发现这两个库在二维码扫描和识别速度上表现得非常出色!

全部评论 (0)

还没有任何评论哟~
客服
客服
  • AndroidZBarZXing
    优质
    本文对比分析了Android平台上常用的两个二维码扫描库——ZBar和ZXing的功能特性、性能优劣及应用场景,帮助开发者选择合适的二维码解析工具。 最近工作中增加了一个二维码扫描功能,在集成zxing后发现识别效果不尽如人意。因此我特意找了两个封装库进行了测试,并制作了示例程序(demo),分别是zbar与zxing的封装版本,最终发现这两个库在二维码扫描和识别速度上表现得非常出色!
  • Android ZXing 生成
    优质
    本工具基于Android平台ZXing库开发,提供强大的二维码生成与识别功能,适用于各类应用中的条形码、二维码处理需求。 在Android开发中使用ZXing(Zebra Crossing)是一个开源项目来生成和解析各种条形码及二维码的工具库。它支持一维条形码与二维矩阵码如QR Code、Data Matrix、UPC等类型的处理。本段落将介绍如何在Android应用内集成ZXing以实现二维码的生成与扫描功能。 首先,我们需要把ZXing库添加到项目中。推荐使用Gradle依赖方式来完成此操作,这可以更方便地管理并更新库版本。在项目的`build.gradle`(Module级别)文件里加入以下代码: ```groovy dependencies { implementation com.google.zxing:core:3.4.1 implementation com.journeyapps:zxing-android-embedded:3.6.0 } ``` 接下来,我们将创建一个用于生成二维码的工具。ZXing库中的`Writer`接口提供了生成条形码和二维码的功能。我们可以使用`QRCodeWriter`类来实现这一需求。以下展示了一个简单的示例代码: ```java import com.google.zxing.EncodeHintType; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import java.util.HashMap; import java.util.Map; public Bitmap generateQRCode(String content) { try { QRCodeWriter qrCodeWriter = new QRCodeWriter(); Map hints = new HashMap<>(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, 500, 500, hints); int width = bitMatrix.getWidth(); int height = bitMatrix.getHeight(); Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { bitmap.setPixel(i, j, bitMatrix.get(i, j) ? Color.BLACK : Color.WHITE); } } return bitmap; } catch (WriterException e) { e.printStackTrace(); } return null; } ``` 除了生成二维码,ZXing还提供了扫描功能。我们可以通过`IntentIntegrator`类来启动系统相机进行二维码的扫描,并通过`IntentResult`获取到扫描结果: ```java IntentIntegrator integrator = new IntentIntegrator(this); integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); // 设置只允许QR Code类型 integrator.setPrompt(扫描二维码); // 提示信息 integrator.setCameraId(0); // 使用前置摄像头(默认为后置) integrator.setBeepEnabled(false); // 关闭提示音 integrator.setBarcodeImageEnabled(true); integrator.initiateScan(); // 启动扫码界面 ``` 当扫描完成后,我们需要在`onActivityResult`方法中处理返回的结果: ```java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (result != null) { // 如果扫描结果不为空,则进行相应处理 if (result.getContents() == null) { Toast.makeText(this,扫描失败,Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this,扫描成功: + result.getContents(),Toast.LENGTH_SHORT).show(); } } else { // 如果没有返回结果,则调用父类方法 super.onActivityResult(requestCode, resultCode, data); } } ``` 通过以上代码示例,你可以更深入地了解ZXing库在二维码生成和扫描中的应用。实际开发中,请根据项目需求调整参数如二维码尺寸、错误纠正级别等以提供更好的用户体验,并确保遵循Android最佳实践如处理权限请求及优化性能与UI设计等方面的要求。
  • AndroidZXing识别
    优质
    简介:这款基于Android系统的应用利用ZXing核心库提供高效、准确的二维码和条形码扫描及解析功能,适用于多种场合下的信息读取需求。 博客提供了解决Android中文乱码的方法,并介绍了如何从相册获取二维码照片进行解析以及横屏切换到竖屏的功能。此外还提供了使用闪光灯的实现方法。
  • 高效整合ZXINGZBar工具
    优质
    本工具集成了ZXING和ZBar两大主流二维码解析库,提供高效的条形码及二维码识别功能,适用于多种应用场景。 ZXing和ZBar的综合版本在二维码扫描方面非常高效,并且可以在Toast显示的地方根据个人需求进行相应的调整,具有很高的扫码效率。
  • 使用ZXING开源库在Android生成
    优质
    本项目介绍如何利用ZXING开源库,在Android平台上实现二维码的生成与识别功能。 使用ZXing开源库在Android上生成二维码并进行扫描。我的博客地址可以提供相关信息。
  • 利用ZxingAndroid实现功能
    优质
    本项目介绍如何使用ZXing库在Android设备上开发二维码扫描应用,帮助用户轻松集成二维码识别功能。 Android使用Zxing实现扫一扫功能,在开发过程中可以借助Android Studio进行高效开发。关于具体的实现效果,请参考相关技术博客文章中的详细描述与示例代码。这样可以帮助开发者更好地理解和应用该功能于实际项目中。
  • ZXing插件在Android功能实现
    优质
    本文介绍了如何使用ZXing插件在Android平台上实现二维码扫描的功能,包括集成步骤和代码示例。适合开发者参考学习。 Android二维码扫描功能开发可以采用ZXing插件实现。最新的lib版本可以在GitHub上找到相关项目进行参考。
  • Android ZXING 已验证有效
    优质
    Android ZXING二维码扫描是一款经过验证的有效工具,能够帮助用户轻松读取和生成各类二维码,适用于多种应用场景。 在移动应用开发领域,二维码扫描功能已经成为一个非常常见的需求,并且尤其受到Android平台的重视。ZXing(意为“zebra crossing”,即斑马线)是一个开源、跨平台的条码读取库,它能够帮助开发者轻松实现这一目标。 本段落将详细介绍如何利用ZXing在Android项目中进行二维码扫描操作,并提供一个经过验证可以使用的示例——ZxingExample。首先了解一下ZXing的主要功能:该库支持多种类型的条形码和二维码格式,包括一维码、QR Code以及Data Matrix等。它提供了完整的框架来处理图像捕获、解码及结果管理。 要将ZXing集成到Android应用中,通常需要遵循以下步骤: 1. 添加依赖关系,在项目的build.gradle文件里加入ZXing的相关库: ```groovy dependencies { implementation com.google.zxing:core:3.4.1 implementation com.journeyapps:zxing-android-embedded:3.6.0 } ``` 2. 创建一个包含SurfaceView的布局,以展示摄像头画面,并在Activity或Fragment中初始化CameraSource和BarcodeDetector对象。 3. 编写代码来启动相机预览并实时检测二维码。通过调用CameraSource.start()方法开始视频流捕获,然后使用BarcodeDetector.detect()函数识别条形码信息;一旦找到目标,则会触发回调事件返回解码数据。 4. 在收到结果时处理相应的逻辑操作,例如打开链接或者保存扫描到的信息等业务场景下的应用需求。 ZxingExample-master是一个包含完整实现的示例项目,它详细展示了如何在Android应用程序中集成ZXing并完成二维码读取任务。通过研究这个实例代码库中的配置、初始化以及事件处理器等功能模块,开发者可以迅速掌握该工具的基本用法,并将其应用于自己的开发工作中去。 总而言之,ZXing为Android平台上的条码识别提供了强大而可靠的解决方案。只要正确地整合和定制化使用这一框架,就能让您的应用具备二维码扫描功能并进而提升其整体性能与用户体验水平。无论是新手还是资深开发者都可以从这项技术中受益匪浅。
  • 利用ZXingAndroid进行与生成
    优质
    本简介介绍如何使用开源库ZXing在Android设备上实现二维码的扫描和生成功能。 Android 使用 ZXing 实现二维码扫描和生成功能。支持打开默认的二维码扫描页面、对图片 Bitmap 的扫描操作以及 UI 定制化。此外,还具备条形码扫描能力,并能够控制闪光灯开关。