安卓二维码源码
Ⅰ 扫描二维码的zing-2.3.0源码中,部分语句在Android-17中弃用了
java">//ctrl+1添加@SuppressWarnings("deprecation")在onResume
if(Build.VERSION.SDK_INT<Build.VERSION_CODES.HONEYCOMB){
surfaceHolder.setType(surfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
//Integer.parseInt(Build.VERSION.SDK)改为Build.VERSION.SDK_INT
//YCbCr_420_SP用ImageFormat.NV21代替
//YCbCr_422_SP用ImageFormat.NV16代替
//这些文档上都有,自己都可以解决的……
Ⅱ android扫描二维码怎么实现链接源码
这有个zxing二维码开发demo的源代码,你看看吧
Ⅲ Android二维码识别源码,可有多种实现方式
这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。
2、ZXing库主要类
下面给大家介绍一下,ZXing库里面主要的类以及这些类的作用:
CaptureActivity。这个是启动Activity 也就是扫描器。
CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。
DecodeThread 解码的线程。
com.google.zxing.client.android.camera 包,摄像头控制包。
ViewfinderView 自定义的View,就是我们看见的拍摄时中间的框框了。
3、使用ZXing生成二维码
下面针对二维码生成和解析做个简单介绍,至于详细的使用方法,建议大家还是自己看看源码,使用起来很简单,不过这个开源项目的代码,值得好好看看。首先给出二维码生成的方法:
View Code
上面就是二维码生成的方法接口,如果你只是使用者方法,很简单,只要传入一个URL即可,就像我截图里面一样,传入一个合法的网址即可。或者像现在一些移动APP的推广,把APP下载地址转为二维码,只要扫一下就可以下载相应的APP。这个也是目前比较流行的APP的推广方式。
上面代码做的事情不多,主要是调用ZXing库里面QRCodeWriter().encode的方法对我们传进去的URL进行编码,具体如何编码,这个我这里就不详细说,有兴趣可以看ZXing的源码。文章最后会给出ZXing的源码和例子代码。
4、扫描二维码获取信息
扫描获取二维码信息的工作稍微复杂一些,主要是需要编写Camera的使用,这个跟我们一般使用Camera一样,需要使用Surfaceview作为预览,这一部我这里就不说了,这个应该不是太复杂。对于使用过Camera做预览的朋友,应该是挺简单的事情。获取二维码数据的关键处理是在Camera的自动对焦回调函数哪里,调用ZXing的解码接口。
View Code
这里稍微多说一句,由于解码需要一定时间,所以ZXing的解码调用,都是使用了Handler作为线程通信机制,解码的工作都是放在独立线程里面使用的,如果你直接在主线程解码,恐怕ANR问题是避免不了。
View Code
上面是解码的线程处理不同状态的时候需要注意的地方,我们这里只看获取图像成功的地方,成功获取图片解码的实在DecodeThread里面实现,DecodeThread里面解码成功后,会把数据序列化,然后保存到Bundle里面,我们可以直接通过Bundle的序列化,获取到图片数据。同时会把解码后的结果保存到MSG里面,然后就可以根据实际情况进行处理,例如上面代码,解码成功后,会调用一个处理函数:
View Code
上面就是整个二维码的解码流程,里面因为涉及很多Camera的使用,所以你如果需要使用二维码识别,需要注意一下你的程序需要申请下面的权限,一般的Camera使用以及Camera的自动对焦等。
View Code
5、结语
上面就是生成和识别二维码的关键流程和代码,有兴趣的朋友可以自己查看ZXing的源码,里面有很多图像分析的知识可以学习。具体使用也可以参考我下面给出的Demo。二维码对于现在移动开发来说很是很常用的技术,所以有空可以了解一下,说不定什么时候就用上了。另外,ZXing库除了二维码外,其实对于条形码也是支持的,只是我这里没有介绍。有需要的自己去看看源码即可。
Ⅳ android开发 如何实现扫描本地二维码图片
开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发。
如何将zxing的Android源码导入工程。
在导入zxing的android源码之前,先去官方下载zxing的源码http://code.google.com/p/zxing/downloads/list。
这里以1.6版本为例,zxing 1.6源码结构如下:
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.qrcode"
android:versionCode="1"
android:versionName="1.0">
<uses-sdkandroid:minSdkVersion="7"/>
<uses-permissionandroid:name="android.permission.VIBRATE"/><!--震动权限-->
<uses-permissionandroid:name="android.permission.CAMERA"/>
<uses-featureandroid:name="android.hardware.camera"/><!--使用照相机权限-->
<uses-featureandroid:name="android.hardware.camera.autofocus"/><!--自动聚焦权限-->
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--隐藏键盘--><!--全屏-->
<activity
android:configChanges="orientation|keyboardHidden"
android:name="com.zxing.activity.CaptureActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
</application>
</manifest>这种情况大致就可以实现二维码扫描了,想细化的话,还可以多看看安卓二维码扫描开发相关的教程
Ⅳ android 二维码扫描 有哪些
这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。
Ⅵ 智能手机的二维码识别系统源代码是如何入手编写
软件里有这功能,按照提示做就可以生成二维码!
Ⅶ 谁能帮忙找一个可以用的,android二维码扫描源代码
这些貌似都是开源的·可以去开发的网站看卡·
Ⅷ Android ZXing 二维码,编码和解码的算法是什么算法,还是用bitmap生成二维码图片那个算法是什么,谢谢
二维码分两类:行排式二维条码和矩阵式二维码,已矩阵式二维码中QRcode为例。
QRcode是日本Denso公司开发的,目前网上有其二维码信息组件QRcode.dll,该组件可对输入的字符串进行QR编码
调用接口定义:
STDMETHOD
IMPCQREncoder:Encode(BSTR bstrEncodeData,
BYTE byErrorCorrectionLevel,
BOOL bISOI2EC,
BSTR *pbstrResultStream)
输入参数说明:
BSTR bstrEncodeData: 待编码的字符串,注意一个中文字符对应两个字节,对应汉字内码
BYTE byErrorCorrectionLevel:编码的纠错级别选择,0表示纠错级别L(7%),1表示纠错级别M(15%),2表示纠错级别Q(25%),3表示纠错级别H(30%)
BOOL bISOIEC:采用的编码标准,取值为TRUE表示采用国际标准(ISO/IEC18004),FALSE表示采国家标准(GB/TGB/T18284-2000)
输出参数说明:
BSTR *pbstrResultStream:输出字符串,字符串由三部分组成,(注意,每个字符为一个字节)
第一部分三字节,为编码后QR符号的宽度,
第二部分三字节,为编码后QR符号的高度,
第三部分为编码后的QR符号,长度为QR符号宽度与QR符号高度的乘积。
举个例子,对字符串“01234567”
编码后得到返回值为:
“011011111111101001100100010”
字符串“01234567”经二维码信息编码后应理解为:
21个单位宽(前三个字符‘021’)、21个单位高的正方形单位矩阵,
可以根据矩阵中的每一个元素值(0或1)来生成二维码图片对应位置上的像素颜色,假设定0值为白色,1值为黑色,每个单位(即021后面的字符)表示1个像素,那么当前二维码图片应为21像素宽、21像素高的黑白相间的图片。我想用编码后的信息,以这种定义生成图片的算法应该还是容易实现的。另外,QR编码具体算法,建议还是看看QR编码规范文档,如果你需要,我可以传给你。
Ⅸ 求源代码,自动识别安卓和苹果系统的二维码
你可以去一些打包平台,上传你的安装包,他会自动生成一个二维码~
Ⅹ 求安卓二维码生成源码,要求能完美运行的
UC浏览器8.7版本就可以