欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android实现扫描和生成二维码

程序员文章站 2022-09-06 13:11:06
本文实例为大家分享了android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下需求:就是需要把数据存放到二维码中,然后通过扫描二维码拿到数据,并展示到页面上。功能展示:demo下载:and...

本文实例为大家分享了android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下

需求:

就是需要把数据存放到二维码中,然后通过扫描二维码拿到数据,并展示到页面上。

功能展示:

Android实现扫描和生成二维码

Android实现扫描和生成二维码

demo下载:android扫描生成二维码

代码实现:

1.引用第三方

//androidx 版本
implementation 'com.king.zxing:zxing-lite:1.1.7-androidx'

2.在androidmanifest.xml 声明captureactivity

<activity
 android:name="com.king.zxing.captureactivity"
 android:screenorientation="fullsensor"
 android:theme="@style/capturetheme" />

3.主要代码

import android.content.intent;
import android.graphics.bitmap;
import android.os.bundle;
import android.text.textutils;
import android.util.log;
import android.view.view;
import android.widget.button;
import android.widget.edittext;
import android.widget.imageview;
import android.widget.toast;

import androidx.annotation.nullable;
import androidx.appcompat.app.appcompatactivity;

import com.king.zxing.captureactivity;
import com.king.zxing.util.codeutils;

import org.json.jsonobject;

import static com.king.zxing.capturefragment.key_result;

public class mainactivity extends appcompatactivity implements view.onclicklistener {

 protected edittext edtresutlt;
 protected button btnscan;
 protected button btncreate;
 protected edittext edtdata;
 protected imageview ivqr;

 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 super.setcontentview(r.layout.activity_main);
 permissionutils.applypermission(this);
 initview();
 }

 @override
 public void onclick(view view) {
 if (view.getid() == r.id.btn_scan) {
  //跳转到扫描界面
  intent intent = new intent(this, captureactivity.class);
  startactivityforresult(intent, 1);
 } else if (view.getid() == r.id.btn_create) {
  string data = edtdata.gettext().tostring().trim();
  if (textutils.isempty(data)) {
  toast.maketext(this, "请输入文字", toast.length_short).show();
  } else {
  //生成二维码
  bitmap qrcode = codeutils.createqrcode(data, 600, null);
  ivqr.setimagebitmap(qrcode);
  }
 }
 }

 /**
 * 在该方法中拿到扫描的数据
 * @param requestcode
 * @param resultcode
 * @param data
 */
 @override
 protected void onactivityresult(int requestcode, int resultcode, @nullable intent data) {
 super.onactivityresult(requestcode, resultcode, data);
 if (resultcode == result_ok) {
  if (requestcode == 1) {
  string result = data.getstringextra(key_result);
  log.e("aaa", "resu-->" + result);
  //展示到页面上
  edtresutlt.settext(result);
  }
 }
 }

 private void initview() {
 edtresutlt = (edittext) findviewbyid(r.id.edt_resutlt);
 btnscan = (button) findviewbyid(r.id.btn_scan);
 btnscan.setonclicklistener(mainactivity.this);
 btncreate = (button) findviewbyid(r.id.btn_create);
 btncreate.setonclicklistener(mainactivity.this);
 edtdata = (edittext) findviewbyid(r.id.edt_data);
 ivqr = (imageview) findviewbyid(r.id.iv_qr);
 }
}

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

相关标签: Android 二维码