Andro Studio 基于Zing一维码二维码扫描代码
现在一维码二维码在我们的日常生活中使用如此的广泛,所以拥有扫码功能的APP变得非常普遍,一个安卓APP需要扫码功能就要用到zxing了,zxing是谷歌开源的让开发者更方便使用摄像头的库,而我们常用的扫码功能就是其中之一。
但是因为zxing的功能太强大了,包含了很多我们用不上的功能,所以一般都会抽取其中的扫码功能单独使用,这个抽取的过程还是有点麻烦的,但是已经有开发者为我们省去了这个过程,直接使用zxing-android-embedded 文件库,来实现扫码功能。
以AndrioSdudio开发环境为例,实现扫码功能,具体操如下:
一、扫描一维码或二维码
- 新建工程文件
2. 选择Basic Activity模板,也可以选择其它类型模板页,完成新建工程项目。
3.在新建工程建里,打开MainActivity文件。
在MainActivity库里引入:
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
如下图:
4.打开项目中 Build gradle文件
在dependencies 中加入以下代码:
implementation ‘com.journeyapps:zxing-android-embedded:3.5.0@aar’
implementation ‘com.google.zxing:core:3.2.1’
如下图所示:
在res\layout\content_main.xml文件中加入以下代码:
5.在MainActivity文件中,加入相应代码:
private Button buttonscan;
如下图所示:
同时,在onCreate中加入下面代码:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG)
.setAction(“Action”, null).show();
}
});
//扫描BUTON事件buttonscan.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);integrator = new IntentIntegrator(MainActivity.this);integrator.setPrompt(" "); //底部的提示文字,设为""可以置空integrator.setCameraId(0); //前置或者后置摄像头integrator.setBeepEnabled(false); //扫描成功的「哔哔」声,默认开启integrator.initiateScan();}});
现在可以RUN一下了。
注:如果出现代码中有红色错误提示,程序不能运行。可以通过多编译几下程序,问题如仍未解决,可关闭工程后,重新打开。
如果代码中没有别的错误信息提示,便可出现以下:
点击扫码按钮后,出现横屏扫码界面,如下:
此时可以扫描二维码,但目前还没有得到扫描的结果。
为此,我们加入以下代码,通过 onActivityResult的方法获取 扫描回来的值。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
if(intentResult != null) {
if(intentResult.getContents() == null) {
Toast.makeText(this,“内容为空”,Toast.LENGTH_LONG).show();
} else {
// ScanResult 为 获取到的字符串
String ScanResult = intentResult.getContents();
Toast.makeText(this, ScanResult,Toast.LENGTH_LONG).show();
edittext.setText(ScanResult);
}
} else {
super.onActivityResult(requestCode,resultCode,data);
}
}
再次运行程序,通过扫描后,可得到扫码结果,如下图:
以上是扫码全部内容。
如果想有微信竖屏和相关界面,还需要对库中代码做相应改动,请继续看第二部分。
Andro Studio 基于Zing一维码二维码扫描代码相关推荐
- STM32F407获取OV7670摄像头图像及上位机解码(一维码二维码)
STM32F407获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...
- STM32H750获取OV5640摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV5640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对500万像素OV5640摄像头进行图像捕获,并通过串口将数 ...
- STM32F407获取OV2640摄像头图像及上位机解码(一维码二维码)
STM32F407获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32F407对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...
- STM32H750获取OV2640摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV2640摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对200万像素OV2640摄像头进行图像捕获,并通过串口将数 ...
- STM32H750获取OV7670摄像头图像及上位机解码(一维码二维码)
STM32H750获取OV7670摄像头图像及上位机解码(一维码&二维码) 1. 目的 针对静止拍摄图像场景,实现STM32H750对30万像素OV7670摄像头进行图像捕获,并通过串口将数据 ...
- halcon视觉 一维、二维码的区别-@龙熙视觉培训李杰
一维码(条形码) 一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码.39码.交叉25码.UPC码.128码.93码,ISBN码,及Codabar(库德巴码)等. 条码是由一组规则排列 ...
- 基于springboot的食品二维码溯源系统
1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于springboot的食品二维码溯源系统. 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 21世纪是信息化时代,随着信息技 ...
- 【第 07 章 基于主成分分析的人脸二维码识别MATLAB深度学习实战案例】
基于主成分分析的人脸二维码识别MATLAB深度学习实战案例 人脸库 全套文件资料目录下载链接–>传送门 本文全文源码下载[链接–>传送门] 如下分析: 主文件 function varar ...
- 前端条码打印方案(表格+中文+一维码+二维码)
前言 条码打印不同于普通打印机,条码大小各不相同,需要针对不同标签贴纸开发不同的样式 1. 条码打印的两种方案: 后端ZPL指令打印 前端调用浏览器打印 2. 优缺点分析: 优点 缺点 后端ZPL指令 ...
最新文章
- python代码写完怎么运行-Python 项目代码写完了,然后怎么打包和发布?
- Java String 字符串
- Android逆向与病毒分析
- 概率dp——处理分母为0的情况hdu3853
- scratch desktop的基本使用 - 如何使用积木
- 神奇的折纸艺术!无限翻转完全停不下来
- ASP.net Table 控件
- 15分钟,教你用Python爬网站数据,并用BI可视化分析!
- sql给已有数据中的表添加字段并且填充不同的数据
- python生成复合饼图
- android+像素转换工具,MCPE像素画生成器
- 2020-03-18HTML
- 莫烦Python--Tensorflow Day5
- Serpent.AI - 游戏代理框架(Python)
- 什么是人工智能,人工智能的求职条件是什么?
- hadoop与spark大数据平台培训推荐书目
- 2022GCVC全球人工智能视觉产业与技术大会在青岛圆满落幕
- Java 处理PDF图章(印章)——图片图章、动态图章
- 计算机英语在线学习,英语单词记忆法超强记忆_免费背单词软件电脑版
- 修改apiserver证书
热门文章
- HDU6069(区间筛)
- 实验记录 | 为什么mtDNA的fastq数据会比对到常染色体上?
- 仿照中国银行页面进行编写,主要涉及到float,定位
- python酒店数据分析_python数据分析实战——AirBnb用户分群
- html投影电脑,无线投影小PC 联想投影电脑610S评测
- ſ xf(sinx)dx 中的f(sinx)到底是什么
- Git项目管理修改项目名称
- Unity3D制作3维立体小游戏
- (load和initialize)不要被你的log迷惑了你对问题的判断
- Failed to decode response: zlib_decode(): data error Retrying with degraded;