源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-06-29 08:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android二维码的生成与扫码-zxing示例代码
由于GitHub上面的zxing功能太多,有的用不到,我就抽取了重要的出来使用,这个可以生成二维码,扫描二维码和相册中的二维码 Demo效果: [img]http://files.jb51.net/file_images/article/201703/201731082359899.gif?201721082417[/img] 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源码下载:[url=http://xiazai.jb51.net/201703/yuanma/Zxing_jb51.net.rar]Zxing_jb51.net.rar[/url] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部