Android二维码的生成与扫码-zxing示例代码
程序员文章站
2023-11-29 13:19:10
由于github上面的zxing功能太多,有的用不到,我就抽取了重要的出来使用,这个可以生成二维码,扫描二维码和相册中的二维码
demo效果:
1.在project...
由于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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。