Zxing初体验之------二维码扫描部分

最近公司出的新产品中用到了二维码,由于之前只是简单的了解过,所以就先搜集了一下大神们的博客,发现很多都是基于1.6/1.7版本的,而现在都是3.3.0版本了,有一些稍微的变动了,所以决定自己动手丰衣足食,当然我在android领域中还是小白,如果有什么错误或者可以改进的,还请大神们多多指教哈,小弟在此感激不尽!好了,接下来就进入正题吧!

一、首先我们去GitHub上下载Zxing,这里附上GitHub上的地址:
https://github.com/zxing/zxing
我们将其减压后内容如下:
这里写图片描述
我们只需要关心图中3个蓝色部分内容就可以了(只对于二维码扫描而言),当然这三部分内容的意义在READEME中有说明,感兴趣的可以看看,在这里我就不班门弄斧了哈.
二、接下来就是把上面三部分蓝色内容部署到我们的工程中去:
1.首先将android目录下的src目录下的整个源码拷贝到我们工程中的src—>main—>java目录下,如下图:
这里写图片描述
2.将android-core目录下的CameraConfigurationUtils.Java拷贝到我们目录下(随意目录,我这里放在了utils目录下):
3.将android目录下的res资源拷贝或者整合到我们工程中的res对应的目录下(用于国际化的values我们可以不需要,根据自己情况来决定),如下图:
4.将zxing下的core目录打包成jar文件,然后将该jar文件拷贝到工程中的libs目录下,别忘了add as library.
做完以上几步的整个布局效果如下:
这里写图片描述

三、解决错误
上面我们已经把Zxing部署到我们的工程中了,现在我们build一下工程,会发现报了很多错误,这时候不要慌,基本都是些包路径错误,我们手动改一下就好了,我这里报的都是R文件路径不对,我只需要把R文件换成我们自己工程中的R文件路径就好了.
四、配置清单
接下来我们需要配置一下清单文件了,加上权限以及用到的activity,当然我们要适配6.0系统,所以还要手动添加一下摄像头的权限.

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.ricky.qrcodesanner"  
    android:versionCode="1"  
    android:versionName="1.0" >  

     <uses-permission android:name="android.permission.CAMERA" />    
    <uses-permission android:name="android.permission.INTERNET" />    
    <uses-permission android:name="android.permission.VIBRATE" />    
    <uses-permission android:name="android.permission.FLASHLIGHT" />    
    <uses-permission android:name="android.permission.READ_CONTACTS" />    
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    
    <uses-sdk  
        android:minSdkVersion="14"  
        android:targetSdkVersion="19" />  

    <uses-feature    
        android:name="android.hardware.camera"    
        android:required="false" />    
    <uses-feature    
        android:name="android.hardware.camera.front"    
        android:required="false" />    
    <uses-feature    
        android:name="android.hardware.camera.autofocus"    
        android:required="false" />    
    <uses-feature    
        android:name="android.hardware.camera.flash"    
        android:required="false" />    
    <uses-feature android:name="android.hardware.screen.landscape" />    
    <uses-feature    
        android:name="android.hardware.wifi"    
        android:required="false" />    
    <uses-feature android:name="android.hardware.touchscreen" />    

    <supports-screens    
        android:anyDensity="true"    
        android:largeScreens="true"    
        
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值