程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)
Adroid zxing 二维码3.1集成
声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。
转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢!
引子:最近项目中用到二维码,找到了最新的3.1版本 zxing-GitHub,进行了集成、调整,同时笔记以备忘。
展示应用下载:程序猿媛2.1
求点击:博客访问9.9k+了,距离初步期望1w很近了。 一个多月的封闭开发也终于结束了,成都也雨后天晴出太阳。
特此版本去掉了下载时需要积分的情况,网站之外的tx们,方便的话,随手点一下“花佟林雨月”
实现效果:
相关博文很多,生成jar包,简化代码。度娘一下就有了。 感觉需要必要笔记,是发现:
- 以1.6版本居多,据说3.1对4x支持更好些。
- 简化后,对扩展比较麻烦。
- 修改竖屏后,修改的地方找起来比较麻烦。
未使用简化版本,直接引用zxing源码
由于网上的简化版本,对功能扩展比较麻烦,因此,直接将zxing放到了工程目录下的extras/zxing下,只在项目中加入了目录,复制、修改了必要的文件,其他均引用源码文件
修改竖屏后所需调整
集成过程中,发现网文提到的修改竖屏,还是有点分散的,找起还是有点麻烦。故在CameraConfigurationManager加了一个标识方法:isPortrait(),返回true
例如,DecodeHandler.java的decode方法中需要调整,如下条件实现:
其他需要修改的地方,也如此使用isPortrait()条件,所以,只需要看下isPortrait()的Call Hierarchy,就比较清晰得看到所需修改。
同时,返回false,就可以恢复到源码处理。
绘制扫描框
根据项目需求,需要重新绘制扫描框框,主要在ViewfinderView.java实现绘制方法,同样条件控制,drawScanFrame局部如下:
灯光的设置
根据源码中,音量键对灯光的开关,添加了新接口,支持标题右上角对灯光的控制:
CameraManager.java中:
以及CameraConfigurationManager.java中:
在Activity中进行必要的调用处理即可。
QrCaptureActivity 中扫描成功的处理
根据实际需求,扫描成功后,跳转并将数据传递给新页面,因此,只在handleDecode方法中,
在注释信息下面,将新页面的跳转就可以了。
如果有其他需求,也在这里自行处理,应该就没有问题了。
另外,运行zxing源码,可以看到它有个设置页面,也可以根据需求,集成该设置页面,或修改R.xml.preferences中的配置即可。
全文完,希望对您有帮助,谢谢!
展示应用下载:程序猿媛2.1
转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢!
程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)的更多相关文章
- Atitit zxing二维码qr码识别解析
Atitit zxing二维码qr码识别解析 1.1. qr码识别解析 by zxing1 1.2. 解码lib:qrcode.jar 2 1.3. atitit.二维码生成总结java zxing ...
- Android项目实战(二十八):Zxing二维码实现及优化
前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的ja ...
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency> <groupId>com.google.zxing</groupI ...
- GEEK学习笔记— —程序猿面试宝典笔记(二)
所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...
- 剑指Offer - 九度1384 - 二维数组中的查找
剑指Offer - 九度1384 - 二维数组中的查找2013-11-23 23:23 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个 ...
- (转载)Android项目实战(二十八):Zxing二维码实现及优化
Android项目实战(二十八):Zxing二维码实现及优化 前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...
- Android项目实战(四十四):Zxing二维码切换横屏扫描
原文:Android项目实战(四十四):Zxing二维码切换横屏扫描 Demo链接 默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候: <activity android:name=&q ...
- C#编写程序,找一找一个二维数组中的鞍点
编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该列上最小.有可能数组没有鞍点).要求: 1.二维数组的大小.数组元素的值在运行时输入: 2.程序有友好的提示信息. 代码: us ...
- 【 js 基础 】【 源码学习 】backbone 源码阅读(二)
最近看完了 backbone.js 的源码,这里对于源码的细节就不再赘述了,大家可以 star 我的源码阅读项目(source-code-study)进行参考交流,有详细的源码注释,以及知识总结,同时 ...
随机推荐
- 三级级联查询省份名称和编码(保证名称不重复)的SQL语句
三级级联查询省份名称和编码(保证名称不重复)的SQL语句 1.省份.地市和县级数据库表 2.SQL语句 SELECT DISTINCT t.`province_name`,t.`province_co ...
- 超链接a标签的属性target的可选值有哪些以及区别
超链接a标签的属性target的可选值有哪些以及区别 1.<a target="_blank"></a> 2.<a target="_par ...
- Java引用变量的类型
Java引用变量的类型 1.编译时类型:由声明该变量时使用的类型决定 2.运行时类型:由实际赋给该变量的对象决定 如果编译时类型和运行时类型不一致,就可能出现多态性
- 代码管理必备-----git使用上传码云
作为一个程序员,你要学会代码的管理,这是一个最基本的修养,就像是一个剑客的剑谱,代码管理,目前流行的是svn和git,但是很不好的是git如果没有插件的话,很多人都不会用git bash 来实现自己的 ...
- 芝麻HTTP:一个采集系统的构建
整个系统: 采集系统:
- python装饰器理解
1.装饰器的作用 在不修改被装饰对象的源代码以及调用方式的前提下为被装饰对象添加新功能 原则: 1.不修改被装饰对象的源代码2.不修改被装饰对象的调用方式 目标: 为被装饰对象添加新功能 2.装饰器的 ...
- spring boot + vue + element-ui全栈开发入门——基于Electron桌面应用开发
前言 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时环 ...
- Splay入门解析【保证让你看不懂(滑稽)】
BST真是神奇的东西... 而且种类好多呀... 我这个蒟蒻只学会了splay orzCJ老爷,各种树都会 好好好,不说了,直接说splay. 不知道splay是啥,,你也要知道平衡树是啥... 平衡 ...
- [SCOI2010]连续攻击游戏 匈牙利算法
觉得题目水的离开 不会匈牙利的请离开 不知道二分图的请离开 不屑的大佬请离开 ……. 感谢您贡献的访问量 ————————————华丽的分割线———————————— 扯淡完了,先重温一下题目 [SC ...
- 【Spring源码分析】原型Bean实例化过程、byName与byType及FactoryBean获取Bean源码实现
原型Bean加载过程 之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式: & ...