分分钟接入条形码扫描模块

????最近在github上发现一个比较好的条形码二维码扫描器项目,其中的条形码扫描器经我多次实践测试,其兼容性、识别率、识别速度都非常优秀.我对其进行一定的改进,使我们能够很方便迅速地在项目中接入条形码扫描模块,此处是项目地址

????首先将“zbar”这个库项目添加进自己的项目中,然后新建一个用来扫描条形码的Activity如下:

package barcodescanner.zbar.sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
import me.dm7.barcodescanner.core.ViewFinderView;
import me.dm7.barcodescanner.zbar.Result;
import me.dm7.barcodescanner.zbar.ZBarScannerView;

public class ScannerActivity extends Activity implements
        ZBarScannerView.ResultHandler
{
    private ZBarScannerView mScannerView;

    @Override
    public void onCreate(Bundle state)
    {
        super.onCreate(state);
        ViewFinderView finderView = new ViewFinderView(this);
        // 自定义扫描器View
        View view = LayoutInflater.from(this).inflate(
                R.layout.scanner_activity, null);
        // 添加自定义的扫描View
        finderView.addView(view);
        // 此处要先调用init()对自定义扫描器的View进行初始化再创建ZBarScannerView对象
        ZBarScannerView.init(finderView);
        mScannerView = new ZBarScannerView(this);
        setContentView(mScannerView);
    }

    @Override
    public void onResume()
    {
        super.onResume();
        // 相机相关参数的初始化设置
        mScannerView.setResultHandler(this);
        mScannerView.startCamera(-1);
        mScannerView.setFlash(false);
        mScannerView.setAutoFocus(true);
    }

    @Override
    public void onSaveInstanceState(Bundle outState)
    {
        super.onSaveInstanceState(outState);
    }

    @Override
    public void handleResult(Result rawResult)
    {
        // 此处可自己按项目需求对扫描结果rawResult进行处理
        Toast.makeText(
                this,
                "Contents = " + rawResult.getContents() + ", Format = "
                        + rawResult.getBarcodeFormat().getName(),
                Toast.LENGTH_LONG).show();
    }

    @Override
    public void onPause()
    {
        super.onPause();
        // activity失去焦点停止相机
        mScannerView.stopCamera();
    }
}

接着。。。大功就告成啦^_^。

时间: 2024-12-25 13:46:55

分分钟接入条形码扫描模块的相关文章

Swift语言编写一个简单的条形码扫描APP

swift语言编写一个简单的条形码扫描APP 原文地址:appcoda 在处理职员在杂货店的收银台排了很长的队伍,在机场帮助检查背包和旅客,或者在主要的食品供应商,协助处理乏味的存货清单过程,条形码扫描是很简单的处理工具.实际上,他们已经用了这个办法来解决消费者在智能购物,图书分类,等其他目的.因此,让我们来制作一个iPhone版本的条形码扫描工具吧! 对我们来说幸运的是,苹果已经制作了条形码扫描的程序,实现它是一件很简单的事情.我们将要研究进入AV Foundation框架的世界,组建APP,

关于iOS原生条形码扫描,你需要注意的两三事

转自txx's blog ? 前言 这篇文章是我们在新发布的礼物说的iOS端开发过程中遇到的一些关于条形码的问题总结而来. ? 本文记录的问题是:当AVFoundation使用多译码器扫描的时候.二维码是秒杀,但是条形码却经常扫不上.如果去掉二维码的话,条形码扫描又秒杀的问题. ? 为什么我们没有选用ZXing而是用AVfoundation呢,是因为我说服了老板,iOS7开发,而不再去兼容iOS5/6.所以我们终于可以抛弃效率低下的ZXing,而选择AVFoundation.为什么说ZXing效

Ionic开发之条形码扫描

最近项目开发中有扫描条码的需求,查阅一些资料之后发现ngCordova扩展了cordova的插件–BarcodeScanner,提供了以下格式的条码扫描. QR Code Data Matrix UPC E UPC A EAN 8 EAN 13 Code 128 Code 39 ITF 完美的支持所有格式,插件本身使用流行的库ZXing. 将条码扫描器整合进Android和iOS应用的步骤如下: 1.新建项目 ionic start IonicProject blank cd IonicProj

ios条形码扫描技术

iOS 应用里实现条形码扫描功能,有个免费开源的 SDK:ZBar(http://zbar.sourceforge.net/iphone/sdkdoc/install.html)下面是实现的效果: 利用条形码,可以简单的得到二维码的值.具体的实现过程如下: 下载 ZBar 的 SDK 创建工程,iphone.scanbar 把下载的 ZBarSDK 添加到工程中 添加 .framework 到工程中 添加一个按钮,处理效果. #pragma mark –    #pragma mark onCl

iOS二维码,条形码扫描问题

1.公司做一个二维码条形码扫描的项目,遇到二维码扫描很好识别,条形码扫描有点慢 解决办法:device放大焦距(完美解决)    //获取摄像设备     AVCaptureDevice * device = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];     //创建输入流     AVCaptureDeviceInput * input = [AVCaptureDeviceInputdeviceInputWith

条形码扫描枪数据读取的问题

最近做的一个程序,客户端是使用条形码扫描枪,读取到数据后,要根据规则跳转到对应的网址. 在调试的时候发现,跳转地址时会出现错误,观察地址格式,发现多出来几个特殊的字符%0D%0A 找了一下原因,这是因为扫描枪传递过来的数据,尾部带有回车换行符(\r\n)所导致的,浏览器在做导航的时候,会自动将其编码为%0D%0A. 所以解决方法就是,使用正则表达式 \S+ 这样的规则,只提取数据中的字符,而不包含换行符之类的.

iOS系统原生二维码条形码扫描

本文讲述如何用系统自带的东东实现二维码扫描的功能:点击当前页面的某个按钮,创建扫描VIEW.细心的小伙伴可以发现 title被改变了,返回按钮被隐藏了.这个代码自己写就行了,与本文关系不大...绿色的线会上下跑,不要担心:D 实现效果如下: 1.在工程中添加框架AVFoundation.framework 2.声明代理:AVCaptureMetadataOutputObjectsDelegate . define 几个东东用来画框.画线: #define SCANVIEW_EdgeTop 40.

二维码、条形码扫描——使用Google ZXing

我在项目中用到了二维码扫描的技术,用的是Google提供的ZXing开源项目,它提供二维码和条形码的扫描.扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码. 可以到http://code.google.com/p/zxing/下载ZXing项目的源码,然后按照官方文档进行开发,我这里使用的ZXing是经过简化版的,去除了一些一般使用不必要的文件,项目工程截图如下: 其中encoding包是我在它的基础上自己加上去的,功能是根据传入的字符串来生成二维码图片,返

自助点餐机增设扫描模块,开创无纸化扫码点餐时代

为缓解一到就餐高峰期很多餐饮店出现的"点餐慢.服务员手忙脚乱.顾客体验不佳"等问题,为就餐者提供更便捷的点餐服务,深圳大部分的KFC分店均引进了自助点餐机,结合条码扫描器,开启自助扫码点餐服务,不仅更加迅捷方便,同时提高了餐饮店的工作效率和服务水平,一举两得. 当就餐者到店内使用自助点餐机扫码点餐时并不需要排队点餐,因为点餐机的箱体内嵌有条码扫描器,拓展一系列自助功能模块,根据操作提示,只需十多秒钟就能完成点餐,非常快,即使在用餐高峰期同样也能满足.据悉,自助点餐机通过运用条码识别技术