Android编程实现二维码的生成与解析
程序员文章站
2023-12-11 14:57:22
本文实例讲述了android编程实现二维码的生成与解析。分享给大家供大家参考,具体如下:
直接上代码,代码上面有具体的解析,并且提供jar供下载:二维码jar包.rar...
本文实例讲述了android编程实现二维码的生成与解析。分享给大家供大家参考,具体如下:
直接上代码,代码上面有具体的解析,并且提供jar供下载:二维码jar包.rar 。
根据文本生成对应的二维码:
// 生成qr图 private void createimage() { try { // 需要引入core包 qrcodewriter writer = new qrcodewriter(); string text = qr_text.gettext().tostring(); log.i(tag, "生成的文本:" + text); if (text == null || "".equals(text) || text.length() < 1) { return; } // 把输入的文本转为二维码 bitmatrix martix = writer.encode(text, barcodeformat.qr_code, qr_width, qr_height); system.out.println("w:" + martix.getwidth() + "h:" + martix.getheight()); hashtable<encodehinttype, string> hints = new hashtable<encodehinttype, string>(); hints.put(encodehinttype.character_set, "utf-8"); bitmatrix bitmatrix = new qrcodewriter().encode(text, barcodeformat.qr_code, qr_width, qr_height, hints); int[] pixels = new int[qr_width * qr_height]; for (int y = 0; y < qr_height; y++) { for (int x = 0; x < qr_width; x++) { if (bitmatrix.get(x, y)) { pixels[y * qr_width + x] = 0xff000000; } else { pixels[y * qr_width + x] = 0xffffffff; } } } bitmap bitmap = bitmap.createbitmap(qr_width, qr_height, bitmap.config.argb_8888); bitmap.setpixels(pixels, 0, qr_width, 0, 0, qr_width, qr_height); qr_image.setimagebitmap(bitmap); } catch (writerexception e) { e.printstacktrace(); } }
根据二维码图片读取内容:
// 解析qr图片 private void scanningimage() { map<decodehinttype, string> hints = new hashmap<decodehinttype, string>(); hints.put(decodehinttype.character_set, "utf-8"); // 获得待解析的图片 bitmap bitmap = ((bitmapdrawable) qr_image.getdrawable()).getbitmap(); rgbluminancesource source = new rgbluminancesource(bitmap); binarybitmap bitmap1 = new binarybitmap(new hybridbinarizer(source)); qrcodereader reader = new qrcodereader(); result result; try { result = reader.decode(bitmap1, hints); // 得到解析后的文字 qr_result.settext(result.gettext()); } catch (notfoundexception e) { e.printstacktrace(); } catch (checksumexception e) { e.printstacktrace(); } catch (formatexception e) { e.printstacktrace(); } }
希望本文所述对大家android程序设计有所帮助。
推荐阅读
-
Android-Zxing实现二维码的扫描与生成
-
Android编程使用GestureDetector实现简单手势监听与处理的方法
-
Android编程实现禁止系统锁屏与解锁亮屏的方法
-
Android编程使用HTTP协议与TCP协议实现上传文件的方法
-
Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法
-
Android-Zxing实现二维码的扫描与生成
-
Android studio 下JNI编程实例并生成so库的实现代码
-
Android编程实现设置按钮背景透明与半透明及图片背景透明的方法
-
Android编程实现屏幕自适应方向尺寸与分辨率的方法
-
Android编程实现二维码的生成与解析