zXing使用小结
在android上二维码、条形码扫描,google官方为我们提供了zXing,几乎android涉及到扫描的都是用这个开源项目实现的,也有在android上使用zBar的,和其他用过的交流得知zBar在扫描二维码时优于zXing,在条形码上zXing更胜一筹,ios一般使用zBar。
今天主要说下使用zXing时遇到的问题,关于如何使用网上相关文章很多就不再重复,直接主题:
1.zXing与TabHost一块使用时
2.横屏变竖屏问题
3.一种实现方法引起的思考
第一个问题,只能长长的叹一口气,想起那些日子为了这个问题......,谷歌官方解释如下:
The app doesn't use a TabHost. If you are writing your own app, indeed, you may need to write different code!
this part is not a library that is supposed to work in other contexts.
关于这个我也就不多说什么了,多直白的话:要想在TabHost下使用,自己写。。。。。。
第二个问题,百度一下会有很多教程,按照教程的确能实现横屏变竖屏,本以为事情就是这么顺利,直到那天某某总扫一张巨密集的名片二维码,奏是出不来,所以横屏变竖屏会有一个问题,扫描的灵敏度受损。后来记得是在stackoverflow看到一篇文章横屏变竖屏,看年代比较久远,对比后猜测国内各种横屏变竖屏的方法应该是仿照这个总结,仔细看作者是针对自己的HTC手机改的,对其他机型是否完全适合值得怀疑。下面是overflow上相关问题的几张截图
横屏变竖屏
灵明度
横屏竖屏扫面框和焦点框对比
感觉这个最起码要将源码研究透彻之后,才能保证在灵敏度不受损的情况下横屏变竖屏。
第三个问题,只是感觉这种方式实现的很新颖,是在看一款叫我查查的软件时发现的,其实是一种假的竖屏,不过感觉体验非常好:
左边的图是正常状态下,其实当你强行在屏幕上从右向左(对程序而言是自上而下)滑动时标题栏会出现,说明当前其实是横屏的,只是将界面设计成了竖屏的样子,感觉很不错。
期望有更好的方法出现,美观,实用,不影响性能。
下面是相关两篇文章的地址:
http://stackoverflow.com/questions/17608302/zxing-lib-not-smoothly-detecting-qrcode-in-portrait-mode
http://stackoverflow.com/questions/16252791/zxing-camera-in-portrait-mode-on-android?rq=1
最后小感慨下,昨天上午,唉,这是不是意味着一个王朝的覆灭......
zXing使用小结的更多相关文章
- zxing扫码--镭射线
同步发表于http://avenwu.net/2015/09/15/zxing_view_finder_laser 在很多应用中都有二维码扫描的需求,比如微信,通过扫描电脑二维码,实现用户登录授权: ...
- 从零开始编写自己的C#框架(26)——小结
一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- java单向加密算法小结(2)--MD5哈希算法
上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...
- Android 扫描条形码(Zxing插件)
使用Android Studio 一.在build.gradle(Module:app)添加代码 下载,调用插件 1 apply plugin: 'com.android.application' ...
- iOS--->微信支付小结
iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...
- Atitit zxing二维码qr码识别解析
Atitit zxing二维码qr码识别解析 1.1. qr码识别解析 by zxing1 1.2. 解码lib:qrcode.jar 2 1.3. atitit.二维码生成总结java zxing ...
- iOS 之UITextFiled/UITextView小结
一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...
- K近邻法(KNN)原理小结
K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...
随机推荐
- c++11 线程:让你的多线程任务更轻松
介绍 本文旨在帮助有经验的Win32程序员来了解c++ 11线程库及同步对象 和 Win32线程及同步对象之间的区别和相似之处. 在Win32中,所有的同步对象句柄(HANDLE)是全局句柄.它们 ...
- 卸载rpm包提示:error: specifies multiple packages
–allmatches Remove all versions of the package which match PACKAGE_NAME. Normally an error is issue ...
- CSS Gradient详解
啥也不说,先看代码: <style> div { width:100px;height:100px;border-radius:50px;/**第一行样式是设置容器的宽高,并且把圆角设置成 ...
- web负载均衡整理
参考:http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html http://www.cnblogs.com/loving ...
- cxf的使用及安全校验-02创建简单的客户端接口
上一篇文章中,我们已经讲了如果简单的创建一个webservice接口 http://www.cnblogs.com/snowstar123/p/3395568.html 现在我们创建一个简单客户端接口 ...
- Objective-C 数组、可变数组
数组的使用方式 下面是数组:类型NSArray #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int ...
- return 与 finally
(function hello() { try { return console.log('return'); } catch (e) { } finally { console.log('final ...
- Tomcat unable to start
在学习springMvc时,导入springfreemarker 的jar包,写好web.xml,config.xml 后. 部署到tomcat,异常如下: 八月 27, 2016 5:44:41 下 ...
- [转]JS基础之undefined与null的区别
在JavaScript开发中,被人问到:null与undefined到底有啥区别? 一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位 ...
- 16-js-缓冲运动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...