欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

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

时间:2021-03-15 09:53:57|栏目:Android代码|点击:

由于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开发教程之handler异步更新ui

栏    目:Android代码

下一篇:Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法

本文标题:Android二维码的生成与扫码-zxing示例代码

本文地址:http://www.codeinn.net/misctech/81464.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有