Android二维码的生成与扫码-zxing示例代码
作者:BOBO_FAS 时间:2022-10-17 11:33:49
由于GitHub上面的zxing功能太多,有的用不到,我就抽取了重要的出来使用,这个可以生成二维码,扫描二维码和相册中的二维码
Demo效果:
1.在project的build.gradle添加如下代码:
allprojects {
repositories {
maven {
url 'https://jitpack.io'
}
}
}
2.在build.gradle添加依赖:
dependencies {
compile 'com.github.goodboy321:Scan-Zxing:1.0'
}
布局:
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入内容,生成二维码"
android:text="http://www.baidu.com" />
<Button
android:background="@color/colorAccent"
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="生成二维码" />
<Button
android:layout_marginTop="10dp"
android:background="@color/colorPrimaryDark"
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="扫码(识别相册中二维码)" />
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<ImageView
android:id="@+id/image_callback"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal" />
主方法:
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn1:
Intent intent = new Intent(mContext, CaptureActivity.class);
startActivityForResult(intent, REQUEST);
break;
case R.id.btn2:
image.setVisibility(View.VISIBLE);
//隐藏扫码结果view
imageCallback.setVisibility(View.GONE);
String content = et.getText().toString().trim();
Bitmap bitmap = null;
try {
bitmap = BitmapUtils.create2DCode(content);//根据内容生成二维码
tvResult.setVisibility(View.GONE);
image.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST) {
image.setVisibility(View.GONE);
imageCallback.setVisibility(View.VISIBLE);
String result = data.getStringExtra(CaptureActivity.SCAN_QRCODE_RESULT);
Bitmap bitmap = data.getParcelableExtra(CaptureActivity.SCAN_QRCODE_BITMAP);
if(bitmap != null){
imageCallback.setImageBitmap(bitmap);//现实扫码图片
}
}
具体需求可修改源码
Demo源码下载:Zxing_jb51.net.rar
来源:http://blog.csdn.net/bobo_fas/article/details/60965371
标签:android,二维码
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Nexus搭建Maven私服教程的方法步骤
2023-03-05 18:56:58
![](https://img.aspxhome.com/file/2023/3/66203_0s.jpg)
java selenium 操作浏览器实例
2023-04-13 17:57:13
JFrame中添加和设置JPanel的方法实例解析
2022-07-02 06:04:41
![](https://img.aspxhome.com/file/2023/6/87196_0s.jpg)
Java查找并高亮PDF文本过程解析
2022-02-17 07:20:32
![](https://img.aspxhome.com/file/2023/8/75508_0s.png)
Java运行时环境之ClassLoader类加载机制详解
2022-07-18 04:54:05
![](https://img.aspxhome.com/file/2023/5/75675_0s.jpg)
java实现ArrayList根据存储对象排序功能示例
2022-01-24 01:06:05
![](https://img.aspxhome.com/file/2023/4/84324_0s.png)
java实现京东秒杀功能分享 京东秒杀软件
2021-09-10 23:27:36
@JsonFormat处理LocalDateTime失效的问题
2023-07-22 18:41:13
springboot全局异常处理代码实例
2023-02-05 20:41:36
教你使用idea搭建ssm详细教程(Spring+Spring Mvc+Mybatis)
2021-09-23 12:37:42
![](https://img.aspxhome.com/file/2023/6/62736_0s.png)
详解Spring Boot自动装配的方法步骤
2023-11-18 15:02:18
Maven中的SnapShot版本和正式版本的区别
2023-11-03 16:31:46
基于C#实现网页爬虫
2021-10-30 08:13:44
![](https://img.aspxhome.com/file/2023/7/72477_0s.jpg)
在.NET中读取嵌入和使用资源文件的方法
2022-03-28 21:46:14
![](https://img.aspxhome.com/file/2023/0/80050_0s.gif)
C语言头文件<string.h>函数详解
2023-07-01 18:59:34
![](https://img.aspxhome.com/file/2023/2/105162_0s.png)
Java数据结构之ArrayList从顺序表到实现
2022-06-14 00:53:25
![](https://img.aspxhome.com/file/2023/1/68771_0s.png)
Minio与SpringBoot使用okhttp3问题解决
2021-06-25 19:17:08
![](https://img.aspxhome.com/file/2023/1/83501_0s.jpg)
关于SpringGateway调用服务 接受不到参数问题
2023-08-31 13:05:00
![](https://img.aspxhome.com/file/2023/9/58419_0s.png)
Java I/O中I/O流的典型使用方式详解
2023-07-08 21:07:51
详解IDEA启动多个微服务的配置方法
2023-11-24 09:22:24
![](https://img.aspxhome.com/file/2023/0/59660_0s.png)