二维码扫描

unity之制作二维码扫描 要生成二维码需要使用zxing.unity.dll提取码syq1在unity中创建Plugins文件夹,将dll放入此文件夹中我这里使用的unity版本是2019.4.32。 阅读详情

这个库的效果很风骚。扫描框,扫描线等风格很多都可以自定义,而且也支持条形码识别。
第一步:

compile 'com.google.zxing:core:3.3.0'
compile 'cn.bingoogolapple:bga-qrcodecore:latestVersion@aar'
compile 'cn.bingoogolapple:bga-zxing:latestVersion@aar'

这个latestVersion换成最新的就行了,当前是1.1.9。
第二步:
xml中添加:

<cn.bingoogolapple.qrcode.zxing.ZXingView
        android:id="@+id/zxingview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:qrcv_animTime="1500"
        app:qrcv_barcodeRectHeight="120dp"
        app:qrcv_borderColor="@android:color/white"
        app:qrcv_borderSize="1dp"
        app:qrcv_cornerColor="@color/colorPrimaryDark"
        app:qrcv_cornerLength="20dp"
        app:qrcv_cornerSize="4dp"
        app:qrcv_isBarcode="false"
        app:qrcv_isCenterVertical="false"
        app:qrcv_isOnlyDecodeScanBoxArea="true"
        app:qrcv_isScanLineReverse="false"
        app:qrcv_isShowDefaultGridScanLineDrawable="true"
        app:qrcv_isShowDefaultScanLineDrawable="true"
        app:qrcv_maskColor="#33FFFFFF"
        app:qrcv_qrCodeTipText="将二维码置于扫描框内,即可自动扫描"
        app:qrcv_isTipTextBelowRect="true"
        app:qrcv_tipTextColor="@android:color/white"
        app:qrcv_tipTextSize="14sp"
        app:qrcv_isShowTipBackground="true"
        app:qrcv_isShowTipTextAsSingleLine="false"
        app:qrcv_rectWidth="220dp"
        app:qrcv_scanLineColor="@android:color/white"
        app:qrcv_scanLineMargin="0dp"
        app:qrcv_scanLineSize="1dp"
        app:qrcv_topOffset="100dp"/>

好多属性都可以自定义,具体不多说了,可以去点上面的链接去作者库里看,很拉风~
第三步:开启扫描即可。下面是扫描的Activity。

public class CaptureActivity extends Activity implements QRCodeView.Delegate {
    private QRCodeView qrCodeView;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_capture);
        initView();
    }

    private void initView() {
        qrCodeView = findViewById(R.id.zxingview);
        qrCodeView.setDelegate(this);
        qrCodeView.startCamera();
        qrCodeView.showScanRect();
        qrCodeView.startSpot();//开启扫描识别功能
    }

    /**
     * @param result 识别成功后的结果回调
     */
    @Override
    public void onScanQRCodeSuccess(String result) {
        //实现震动(不需要可以不写)
        Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
        vibrator.vibrate(200);
        Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
        qrCodeView.startSpot();//实现连续扫(不需要可以不写)
    }

    @Override
    public void onScanQRCodeOpenCameraError() {

    }

    @Override
    protected void onStop() {
        super.onStop();
        qrCodeView.stopCamera();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        qrCodeView.onDestroy();
    }

    /**
     * @param view
     * 打开相册选择二维码图片识别扫描
     */
    public void qrScanFromAlbum(View view) {
        Intent intent = new Intent(Intent.ACTION_PICK, null);
        intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
        startActivityForResult(intent, 1);
    }

    /**
     * @param requestCode
     * @param resultCode
     * @param data
     * 相册选择二维码图片扫描后识别结果的回调
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        qrCodeView.startCamera();
        qrCodeView.showScanRect();
        qrCodeView.startSpot();//开启扫描识别功能
        if (resultCode == Activity.RESULT_OK && requestCode == 1) {
            new AsyncTask<Void, Void, String>() {
                @Override
                protected String doInBackground(Void... params) {
                    try {
                        return QRCodeDecoder.syncDecodeQRCode(getPicPath(data.getData()));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return "";
                }

                @Override
                protected void onPostExecute(String result) {
                    if (TextUtils.isEmpty(result)) {
                        Toast.makeText(CaptureActivity.this, "未发现二维码", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(CaptureActivity.this, result, Toast.LENGTH_SHORT).show();
                    }
                }
            }.execute();
        }
    }

    /**
     * @param selectedImage
     * @return
     * @throws Exception 获取选择图片的path
     */
    private String getPicPath(Uri selectedImage) throws Exception {
        Cursor cursor = this.getContentResolver().query(selectedImage, (String[]) null, (String) null, (String[]) null, (String) null);
        String picturePath;
        if (cursor != null) {
            cursor.moveToFirst();
            int file = cursor.getColumnIndex("_data");
            picturePath = cursor.getString(file);
            cursor.close();
            cursor = null;
        } else {
            File file1 = new File(selectedImage.getPath());
            picturePath = file1.getAbsolutePath();
        }
        return picturePath;
    }
}

最后:清单文件的相机和读写权限别忘了动态获取一下,如果需要震动,也添加一下震动的权限,如下:

 <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-feature android:name="android.hardware.camera"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>
swift生成二维码,扫描二维码 swift实现二维码的生成、扫描, swift实现iOS切换应用~ swift版本3 Xcode 7.3 阅读详情

相关推荐

H5+ 二维码扫描功能

二维码在生活中的使用越来越广泛,APP开发中,也越来越多的需求需要用到二维码的扫描功能,以下就针对h5+的二维码扫描功能做一些简单的介绍; 1. var bc = new plus.barcode.Barcode( id, filters, styles ); 创建二维码扫描对象id: 条码识别控件在Webview窗口的DOM节点的id值filters: 要识别的条码类型过滤器,为条码

kk_yanwu的博客 2万+

Android 集成二维码扫描功能-zbar

实现效果: 实现步骤: 1.Gradle添加二维码包引用。 implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.3.7' 2.AndroidManifest.xml 增加相关权限配置。 <uses-permission android:name="android.permission.CAMERA" /> &lt...

清山博客 6452

手机扫描二维码原理和二维码生成的实现

安卓开发

chancefor的博客 4347

基于Zxing的BGAQRCode-Android开源库的集成与使用

BGAQRCod开源地址 使用步骤: 步骤1:  app.gradle中引入 implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.2.1' 步骤2: 申请运行时权限,主要是: Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE 我这边用的是P...

crazyZhangxl的博客 2237

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

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

shengyin714959的博客 757

android 识别图片上的二维码

NULL 博文链接:https://bgj.iteye.com/blog/2247307

android开发二维码扫描

最近项目开发中,遇到了二维码的问题!于是就去Google,搜索结果提及最多的就是ZXing了!当然这也是Google推荐的! ZXingGithub地址:https://code.google.com/p/zxing/ 但是ZXing存在的问题也很明显:包太大,识别速度太慢,复杂的样式难以修改因此一些在ZXing基础上二次开发的库就出现了,其中比较著名的barcodescanner:https:

野生程序员 1万+

Android集成zxing扫码框架功能

我们知道zxing是一个强大的处理二维码和条形码等的开源库,本篇文章记录一下自己在项目中集成zxing开源库的过程。 导入依赖 implementation 'com.google.zxing:core:3.3.3' 申请权限        在AndroidManifest中申请相应权限: <!--相机--> <!--震动--> <!--存储-->

使用ZXing实现二维码扫描

二维码现在越来越火爆,使用的越发广泛,对于二维码二维码的生成与解析,有多种途径,这里我选择用google老大的ZXing。    其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。使用时通过调用二维码工具类,几行代码就可以实现二维码扫描的功能。    参考资料:        二维码工具类下载地址:  https://github.com/yi

bo543937071的博客 2万+

S7-1200g2运动控制实战:从轴组配置到程序调试

本文详细介绍了S7-1200g2运动控制功能的实战应用,从轴组配置到程序调试的全流程。通过TIA Portal中的工艺对象配置,实现单轴、同步轴组等运动控制模型,并分享常见问题排查与性能优化经验,帮助工程师快速掌握中小型自动化设备的运动控制技术。

weixin_28698059的博客 589

别再为GEE注册发愁了!用谷歌Cloud Project,5分钟搞定谷歌地球引擎账户(保姆级图文)

本文提供2024最新版谷歌地球引擎(GEE)账户注册的保姆级教程,通过谷歌Cloud Project快速完成注册,5分钟极速通关。详细解析注册前的准备、分步图解流程、常见误区及解决方案,帮助用户避开90%的注册陷阱,直达GEE核心功能区。

weixin_42557830的博客 200

Unity之生成扫描二维码

Unity之生成扫描二维码

青衫磊落长歌行的博客 2438

fastjson1.2.83反序列化漏洞

【代码】fastjson1.2.83反序列化漏洞。

Coder的博客 1万+

ios 二维码扫描(微信二维码扫描音效)

非常感谢大家利用自己宝贵的时间来阅读我的文章 ,  今天给大家带来的是一个原生二维码扫描的demo,很久之前写的代码,最近项目要用,想着以后用到的可能性也挺大的,就翻出来整理了个demo出来,如果需要的可以做个参考。如果需要的话希望能帮到你 , 当然, 有任何不妥的地方 欢迎指正。喜欢的可以关注一下我的博客、我的简书 老规矩,先上效果展示 卧槽,这个gif为何如此之大。。。

xiaozhaoqiang的博客 4086

AI 代码生成工具的质量评估体系

基础需求层包括响应速度(Response Time)和界面友好性(UI Friendliness),期望需求层涵盖智能提示(Smart Suggestions)和个性化配置(Personalization),兴奋需求层则涉及多模态交互(Multimodal Interaction)和代码进化(Code Evolution)。在金融领域,代码审计合规性(Compliance Audit)权重应提升至40%,而在Web开发中,API兼容性(API Compatibility)的权重需达到35%。

2503_92418637的博客 3372

一文详解声码器

声码器(Vocoder)是语音信号处理领域的核心技术,其本质是通过“分析 - 参数化 - 合成” 的闭环流程,实现语音的高效编码、转换或生成。它不仅是早期语音通信的关键工具,更是现代 AI 语音技术(如 TTS、语音转换)的核心组件。以下从原理、技术分类、关键模块、应用及发展趋势展开详细解析。

weixin_41413777的博客 1354

基于 zxing 的二维码扫描

前言现在的应用中二维码扫描已经成为一个应用必不可少的功能,现在大部分Android二维码扫描都是基于zxing和Zbar,这文章就来介绍一下基于zxing的二维码扫描。先看下效果图虽然现在的关于二维码的文章有很多,但是很多都是交我们怎么使用,在使用的时候我也遇到了很多问题,比如。UI界面太丑,没有用的文件太多,扫描太慢,版本太老。本Demo使用的是3.x的是比较新的版本。我用的小米2A(api=1

code小生 2061

立创开源:基于STM32F103与ADS1256的六维力传感器低成本实现方案

本文详细介绍了一种基于STM32F103微控制器与ADS1256高精度ADC的低成本六维力传感器实现方案。该方案通过3D打印的六梁弹性体结构结合应变片,将多维力信号转换为电信号,并由24位ADC进行高精度采集。文章涵盖了硬件选型、电路设计、嵌入式软件驱动及上位机数据可视化全流程,为机器人、精密测量等领域的爱好者提供了一个可复现的开源实践参考。

weixin_34718952的博客 390

android端快速生成二维码和进行二维码扫描

android端快速即成微信扫一扫功能,并且根据自己的需求快速生成二维码

白哥哥的博客 2万+

利用ArcGIS快速生成等高线边界,完成地形图拼图

地形图边界一般在CAD中手动绘制,然而,一幅边缘复杂的地形图边界的绘制需要花费大量时间和精力,为了减少重复性工作,提高效率,用ArcGIS软件可以自动生成实测地形图的边界

yl14774636230的博客 9068

最小二乘(MLS)求点云法向量

MLS算法的基本思想是通过在点云的局部邻域内拟合一个光滑曲面,如平面或多项式曲面,以此来重建和处理点云数据。对于法向量估计,MLS通常在每个点的邻域内拟合局部平面,然后从该平面的法向量作为点的法向量。

twnkie的博客 744

Android扫描二维码及生成二维码Demo

制作二维码扫描及生成Demo首先要导入Google Zxing包code.jar。 Zxing源码及jar包下载地址:http://code.google.com/p/zxing/ Demo下载地址:http://download.youkuaiyun.com/detail/ericfantastic/9070921 二维码扫描及生成二维码Demo效果图:        导入相关的Zxing类

EricFantastic 3919

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

uniApp 实现二维码扫描

在pages目录下创建一个用于扫描二维码的页面,如scanCode.vue。用户点击 “扫描二维码” 按钮后,会打开系统的扫码界面,扫描成功后会在控制台输出二维码的内容。

虎康的博客 2882

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

iOS之二维码扫描

最近复习,之前项目需求要实现一个二维码扫描的课程签到的功能。这里简单总结一下。根据文件的名字,相信也能猜出这俩文件实现的功能。首先说一下二维码扫描View的实现#import <UIKit/UIKit.h>@interface CaptureRectView : UIView- (void)setupView; @end这个接口里的方法被第一个文件调用的。- (void)setupView {

SkySuperWL的博客 1332

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

iOS中 扫描二维码/生成二维码详解

指示根视图: [objc] view plaincopy self.window.rootViewController = [[UINavigationController alloc]initWithRootViewController:[SecondViewController new]];   生成二维码:

xiaobo0134的专栏 3528
上一篇: Android集成推送
下一篇: 自定义EditText的使用(一键删除)|ListView item中多edittext问题
尘彦
博客等级 码龄11年 92粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘彦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值