使用ZXing代码实现二维码扫描
Posted 两三点,雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ZXing代码实现二维码扫描相关的知识,希望对你有一定的参考价值。
1 首先下载Zxing的源码,然后将其中android的版本导入到Android Studio
2 因为只需要二维码扫描的功能,所以只留下其中的四个包
其中 camera管理相机,decoding解析扫描到的二维码,view定义扫码的视图,MipcaActivityCapture是扫码的界面。
3 将res文件下的文件拷贝过来,注意是合并,不是简单的替换
4 修改AndroidMinifest.xml
5 修改由R引用带来的错误?
6 添加jar包,jar包导入不是简单的复制,要右键 add as library,导入成功后的jar包是可以展开的,如图?
7最终的结果如图
?有一个问题是取景框内的二维码被拉伸了。。。待解决。
解决方法是?
?Zxing 修改 CameraConfigurationManager.java文件的
void initFromCameraParameters(Camera camera)方法
在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加
?
- Point screenResolutionForCamera = new Point(); screenResolutionForCamera.x = screenResolution.x; screenResolutionForCamera.y = screenResolution.y; // preview size is always something like 480*320, other 320*480
- if (screenResolution.x < screenResolution.y) {
- screenResolutionForCamera.x = screenResolution.y;
- screenResolutionForCamera.y = screenResolution.x;
- }
- ?再把其后的一句代码改为
- cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);
以上是关于使用ZXing代码实现二维码扫描的主要内容,如果未能解决你的问题,请参考以下文章