当前位置: 移动技术网 > IT编程>移动开发>Android > Android二维码的生成与扫码-zxing示例代码

Android二维码的生成与扫码-zxing示例代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

清明节征文,快枪手韦德,辽西人才在线

由于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源码下载:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网