二维码扫描——精简zxing 3.1.1,仅保留扫描和解码部分,增加n种特性

代码的主要功能的实现使用了zxing
3.1.1的代码,并对其进行了精简,现在仅保存扫描和解码部分。

现在代码支持低版本的sdk,实现了二维码和一维码的扫描、从图库中的图片解析一维码和二维码,闪光灯开启、调焦。

支持微信式的扫描框
N多注释

本次精简和特性支持主要经过了以下几个步骤:
0、编译zxing3.1.1代码的core、android-core文件夹,具体是命令行窗口到文件夹路径后,运行 mvn
-DskipTests package (maven命令)编译
1、引入zxing
3.1.1的代码,裁剪代码,做完裁剪后,可以运行,支持横屏扫描,并支持android 4.0系统以上的机子使用
2、修改代码支持竖屏扫描
3、把一些仅支持高版本的sdk的代码修改成兼容低版本的代码:如增加了runnable.java文件,兼容task.executeOnExecutor
4、完成微信扫描框
5、修改代码,支持从图片解码二维码(核心文件是BitmapDecoder.java
和 BitmapLuminanceSource.java),修改CameraManager.java,支持变焦

有个小问题,希望大家帮解决一下,代码在魅族M9(SDK
9)环境下,还是会出现横屏的现象,还感觉有点变形

代码结构如下:

运行画面:

代码托管在github

https://github.com/mooncafes/BarcodeScanner

转载注明:

http://blog.csdn.net/huang86411/article/details/27592831

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=494931&page=1&extra=#pid4065518

时间: 2024-11-03 16:25:53

二维码扫描——精简zxing 3.1.1,仅保留扫描和解码部分,增加n种特性的相关文章

Android开源二维码识别项目zxing横屏改为竖屏识别解决方案

在网上找了很多方法,但最后都有问题,自己调试了好几个小时,最后终于完美解决了竖屏识别. 首先你需要有zxing项目的简化版代码. 使用简化版可以免去许多不必要的代码,方便学习研究,更好定位核心功能. 如果你调试成功后,就可以着手修改将其变为竖屏识别了. 第1步: 在AndroidManifest中将CaptureActivity的screenOrientation属性做如下修改: android:screenOrientation="portrait"  第2步: 我们要把摄像头预览景

Android基于google Zxing实现各类二维码扫描效果_Android

随着微信的到来,二维码越来越火爆,随处能看到二维码,比如商城里面,肯德基,餐厅等等,对于二维码扫描我们使用的是google的开源框架Zxing,我们可以去http://code.google.com/p/zxing/下载源码和Jar包,之前我项目中的二维码扫描功能只实现了扫描功能,其UI真的是其丑无比,一个好的应用软件,其UI界面也要被大众所接纳,不然人家就不会用你的软件啦,所以说应用软件功能和界面一样都很重要,例如微信,相信微信UI被很多应用软件所模仿,我也仿照微信扫描二维码效果进行模仿,虽然

ZXing二维码扫描

一.  二维码 1.二维码名片 它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理.它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能等.同时还具有对不同行的信息自动识别功能.及处理图形旋转变化等特

Android利用ZXing扫描二维码的实例代码解析_Android

相关阅读: Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题 此项目源码地址:请点击这里 看一下zxing的项目结构,我这里直接拿过来用的   看一下扫码的activity: package com.fanyafeng.barcode.activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bund

Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题_Android

先给大家展示下效果图: 扫描内容是下面这张,二维码是用zxing库生成的 由于改了好几个类,还是去年的事都忘得差不多了,所以只能上这个类的代码了,主要就是改了这个CaptureActivity.java package com.zxing.activity; import java.io.IOException; import java.util.Vector; import android.app.Activity; import android.content.Intent; import

Android上使用ZXing识别条形码与二维码的方法_Android

目前有越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等. 本文所述实例就使用了ZXing 1.6实现条码/二维码识别.ZXing是个很经典的条码/二维码识别的开源类库,早在很久以前,就有开发者在J2ME上使用ZXing了,只不过需要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能. 本文代码运行的结果如下,使用91手机助手截图时,无法截

Android上使用ZXing识别条形码与二维码的方法

目前有越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等. 本文所述实例就使用了ZXing 1.6实现条码/二维码识别.ZXing是个很经典的条码/二维码识别的开源类库,早在很久以前,就有开发者在J2ME上使用ZXing了,只不过需要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能. 本文代码运行的结果如下,使用91手机助手截图时,无法截

Android基于google Zxing实现二维码的生成_Android

最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

使用zxing生成二维码 扫二维码进行页面跳转问题

问题描述 使用zxing生成二维码 扫二维码进行页面跳转问题 @RequestMapping(value=""createQRCode"" method = RequestMethod.GET) public void createQRCode(HttpServletRequest request HttpServletResponse response) throws IOException { JSONObject json = new JSONObject()

如何实现手机微信扫一扫、或者其他二维码扫描工具扫二维码,判断设备类型,自动实现下载。

问题描述 如何实现手机微信扫一扫.或者其他二维码扫描工具扫二维码,判断设备类型,自动实现下载. 如何实现手机微信扫一扫.或者其他二维码扫描工具扫二维码,判断设备类型,然后跳转到相应的地址自动实现下载. 解决方案 二维码的概念: [1]二维码,[2]又称二维条码或二维条形码,二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0".&