程序猿媛 九: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)进行参考交流,有详细的源码注释,以及知识总结,同时 ...
随机推荐
- 碎片︱R语言与深度学习
笔者:受alphago影响,想看看深度学习,但是其在R语言中的应用包可谓少之又少,更多的是在matlab和python中或者是调用.整理一下目前我看到的R语言的材料: ---------------- ...
- SQL语句报错(一)
SQL语句报错(一) 1.具体报错如下: ORA-01861:文字格式字符串不匹配 01861. 00000 - "literal does not match format string& ...
- insert ,update 以及merge 的使用
本次将用到的几个表,以及字段> emp表 empno, ename,job,mgr,hiredate,sal,comm,deptno > dept表 deptno,dname,loc &g ...
- Javascript和JQuery中常用的随机数产生函数
无论在普通Js框架或者JQuery中都可以使用的,函数如下,使用方法简介: 1)获取0-100的随机数--getRandom(100); 2)获取0-999的随机数--getRandom(999); ...
- pat1081-1090
1081 #include<cmath> #include<map> #include<iostream> #include<cstring> #inc ...
- 从html页面加载顺序来更好的理解jquery初始化
一,html页面加载顺序 1,用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件:2,浏览器开始载入html代码,发现<head>标签内 ...
- Docker部署Apollo配置中心
1.Apollot简述 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于 ...
- 浏览器全屏之requestFullScreen全屏与F11全屏
一.简介 浏览器全屏有两种方式,一种是HTML5新增的requestFullscree全屏,另一种是摁F11实现的全屏,本文将详解两种全屏的特点以及实现代码. 二.requestFullscreen全 ...
- 【BZOJ2190】仪仗队(数论)
[BZOJ2190]仪仗队(数论) 题面 粘链接,题目中有图片 题解 对于题意,可以考虑 如果有\((i,j)\)能够被看见 那么,\((ki,kj)\)就一定不能看见 所以,如果一个点能够被看见,则 ...
- 22.jQuery(实例)
1.开关灯效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...