Android实现扫描和生成二维码
程序员文章站
2022-09-06 13:11:06
本文实例为大家分享了android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下需求:就是需要把数据存放到二维码中,然后通过扫描二维码拿到数据,并展示到页面上。功能展示:demo下载:and...
本文实例为大家分享了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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。