当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现扫描和生成二维码

Android实现扫描和生成二维码

2020年06月23日  | 移动技术网IT编程  | 我要评论
本文实例为大家分享了android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下需求:就是需要把数据存放到二维码中,然后通过扫描二维码拿到数据,并展示到页面上。功能展示:demo下载:and

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

需求:

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

功能展示:

demo下载:

代码实现:

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);
 }
}

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网