Android二维码的生成与扫码-zxing示例代码
由于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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android App开发中使用RecyclerView替代ListView的实践
RecyclerView是Android L即5.0版本以来新加入的一个组件,主要用来实现item的瀑布式排列,因而被人们广泛认为用来替代ListView,这里我们就来看一下Android App开发中使用RecyclerView替代ListView的实践:2016-06-06Android提高之BroadcastReceiver实例详解
这篇文章主要介绍了Android的BroadcastReceiver用法,在Android的项目开发中是比较实用的功能,需要的朋友可以参考下2014-08-08Android控件ViewFlipper仿淘宝头条垂直滚动广告条
这篇文章主要为大家详细介绍了Android控件ViewFlipper仿淘宝头条垂直滚动广告条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05详解Android使用Handler造成内存泄露的分析及解决方法
这篇文章主要介绍了详解Android使用Handler造成内存泄露的分析及解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-12-12Android利用ShaderMask实现花里胡哨的文字特效
我们的 App 大部分时候的文字都是一种颜色,实际上,文字的颜色也可以多姿多彩。我们今天就来介绍一个能够轻松实现文字渐变色的组件 —— ShaderMask,感兴趣的可以了解一下2022-12-12Android自定义ViewGroup(侧滑菜单)详解及简单实例
这篇文章主要介绍了Android自定义ViewGroup(侧滑菜单)详解及简单实例的相关资料,需要的朋友可以参考下2017-02-02
最新评论