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,二维码
0
投稿
猜你喜欢
Android EditText限制输入字符类型的方法总结
2023-10-11 15:48:19
Android仿英语流利说取词放大控件的实现方法(附demo源码下载)
2022-07-10 23:14:18
详解Unity 实现语音识别功能
2023-11-30 22:01:11
MVPXlistView展示上拉下拉效果
2022-10-30 10:45:38
Android Activity与Service通信(不同进程之间)详解
2023-07-16 00:55:34
@ConfigurationProperties加载外部配置方式
2023-11-09 01:14:32
Java定时任务的三种实现方法
2022-01-13 06:59:01
Android下hook点击事件的示例
2022-02-23 08:34:19
Spring @Transaction 注解执行事务的流程
2022-12-30 15:41:23
浅谈基于SpringBoot实现一个简单的权限控制注解
2022-01-23 16:42:47
Java多线程事务回滚@Transactional失效处理方案
2021-06-20 19:19:28
关于Springboot+gateway整合依赖并处理依赖冲突问题
2023-10-23 21:13:56
C#如何通过匿名类直接使用访问JSON数据详解
2023-07-20 12:31:53
Spring事务管理配置文件问题排查
2022-07-04 15:55:25
SpringBoot3.0整合chatGPT的完整步骤
2023-01-29 01:34:36
Spring Boot+Shiro实现一个Http请求的Basic认证
2022-06-01 22:22:31
C#8.0新语法using declaration
2023-10-23 00:57:54
一篇文章带你入门Springboot沙箱环境支付宝支付(附源码)
2021-06-26 23:21:16
SpringBoot+Nacos+Kafka微服务流编排的简单实现
2023-03-21 10:34:53
关于后端如何解决跨域的问题说明
2023-09-19 00:59:10