Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描

前言:对于二维码扫描我们使用的是开源框架Zxing或者Zbar,这里使用基于zxing的二维码扫描,类似支付宝网格扫描。

二维码原理介绍:

  二维码是用某种特定的几何图形按一定的规律在平面上分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙的利用构成计算机内部逻辑基础的0/1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理;二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息.

效果:

真机效果不明显具体见源码

引入依赖:

compile 'com.google.zxing:core:3.2.1'

actvity中:

public class MainActivity extends AppCompatActivity implements QRCodeView.Delegate { private ZXingView zXingView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); zXingView = (ZXingView) findViewById(R.id.zxingview); zXingView.setDelegate(this);//接收返回值 zXingView.startSpotAndShowRect();//显示扫描框,并且延迟1.5秒后开始识别 } @Override public void onScanQRCodeSuccess(String result) {//二维码返回的信息 Log.i("zhh", "result:" + result); Toast.makeText(this, result, Toast.LENGTH_SHORT).show(); vibrate();//兼容API23 zXingView.startSpot(); } @Override public void onScanQRCodeOpenCameraError() { Log.e("zhh", "打开相机出错"); Toast.makeText(this, "打开相机出错", Toast.LENGTH_SHORT).show(); finish(); } @Override protected void onStart() { super.onStart(); zXingView.startCamera(); } @Override protected void onStop() { zXingView.stopCamera(); super.onStop(); } private void vibrate() { Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); vibrator.vibrate(200); } @Override protected void onDestroy() { zXingView.onDestroy(); super.onDestroy(); } }

布局代码:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.zhh.test.MainActivity"> <com.zhh.test.qrcode.ZXingView android:id="@+id/zxingview" android:layout_width="match_parent" android:layout_height="match_parent" app:qrcv_animTime="1000" app:qrcv_barcodeRectHeight="220dp" app:qrcv_borderColor="@android:color/white" app:qrcv_borderSize="0px" app:qrcv_cornerColor="@color/colorPrimaryDark" app:qrcv_cornerLength="20dp" app:qrcv_cornerSize="3dp" app:qrcv_isBarcode="false" app:qrcv_isOnlyDecodeScanBoxArea="true" app:qrcv_isScanLineReverse="true" app:qrcv_isShowDefaultGridScanLineDrawable="true" app:qrcv_isShowDefaultScanLineDrawable="false" app:qrcv_isShowTipBackground="true" app:qrcv_isShowTipTextAsSingleLine="false" app:qrcv_isTipTextBelowRect="true" app:qrcv_maskColor="#88000000" app:qrcv_qrCodeTipText="将二维码放入框内,即可自动扫描" app:qrcv_rectWidth="200dp" app:qrcv_scanLineColor="@color/colorPrimaryDark" app:qrcv_scanLineMargin="0dp" app:qrcv_scanLineSize="1dp" app:qrcv_tipTextColor="@android:color/white" app:qrcv_tipTextSize="12sp" app:qrcv_toolbarHeight="56dp" app:qrcv_topOffset="90dp" /> </RelativeLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-11-10 07:44:35

Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描的相关文章

Android使用zxing生成二维码,边框自定义宽度

1.基本方法 //二维码容错率,分四个等级:H.L .M. Q         ErrorCorrectionLevel level = ErrorCorrectionLevel.H;             String qrName = "test.png"; //生成二维码图片名称         String targetPath = ServletActionContext.getServletContext().getRealPath("/");  //

Android基于google Zxing实现二维码的生成_Android

最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

Android基于google Zxing实现二维码的生成

最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

Android中google Zxing实现二维码与条形码扫描

Android中google Zxing实现二维码与条形码扫描 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,然后自己的屁颠屁颠的去百度,google啥的,发现很多朋友都有介绍二维码扫描的功能,然后我就跟着人家的介绍自己搞起了二维码扫描功能,跟着人家的帖子,很快我的项目就加入了扫描二维码的功能,然后自己还很开心. 随着微信的到来,二维码越来越火

Android平台下利用zxing实现二维码开发

现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发. 1.如何将zxing的Android源码导入工程. 在导入zxing的android源码之前,先去官方下载zxing的源码:http://code.google.com/p/zxing/downloads/list. 我这里下载的是

Android高级控件(三)——&amp;#160;使用Google ZXing实现二维码的扫描和生成相关功能体系

Android高级控件(三)-- 使用Google ZXing实现二维码的扫描和生成相关功能体系 摘要 现在的二维码可谓是烂大街了,到处都是二维码,什么都是二维码,扫一扫似乎已经流行到习以为常了,今天我们也来实现以下二维码的相关功能,我们使用到的是Google开源的Zxing项目 Zxing GitHub:https://github.com/zxing/zxing 这个项目很大,乱七八糟的,我们还是直接使用jar包吧,这里感谢一下医生,他为我们封装了一个3.1的jar,我们可以拿来用:http

Android Zxing生成二维码经典案例分享_Android

本文实例为大家解析了Zxing生成二维码的经典案例,供大家参考,具体内容如下 1.首先呢,先编译 compile 'com.google.zxing:core:3.2.1' 2.实战 public class QRCode { private static int IMAGE_HALFWIDTH = 50;//宽度值,影响中间图片大小 /** * 生成二维码,默认大小为500*500 * * @return bitmap */ public static Bitmap createQRCode(

Android项目实战(二十八):使用Zxing实现二维码及优化实例

前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的jar包,使用简化版的即可,下文可见. 这篇文章讲述: 1.如果快速在项目中集成zxing,实现扫描和生成二维码功能 2.根据项目需求去修改源码实现我们的要求并进行优化 一.快速集成zxing二维码 1.下载库文件 :http://xiazai.jb51.net/201611/yuanma/ZXingB

Android Zxing生成二维码经典案例分享

本文实例为大家解析了Zxing生成二维码的经典案例,供大家参考,具体内容如下 1.首先呢,先编译 compile 'com.google.zxing:core:3.2.1' 2.实战 public class QRCode { private static int IMAGE_HALFWIDTH = 50;//宽度值,影响中间图片大小 /** * 生成二维码,默认大小为500*500 * * @return bitmap */ public static Bitmap createQRCode(