根据字符串等生成你的专属二维码

 首先导包依赖zxing的


    implementation 'com.google.zxing:core:3.2.1'
    implementation 'com.journeyapps:zxing-android-embedded:3.4.0@aar'

直接上方法   进行调用就可以  在address 中传入要生成的文字等或者地址

private Bitmap createQRImage(String address) {
        Point size = new Point();
        getWindowManager().getDefaultDisplay().getSize(size);
        int imageSize = (int) (size.x * QR_IMAGE_WIDTH_RATIO);
        try {
            BitMatrix bitMatrix = new MultiFormatWriter().encode(
                    address,
                    BarcodeFormat.QR_CODE,
                    imageSize,
                    imageSize,
                    null);
            BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
            return barcodeEncoder.createBitmap(bitMatrix);
        } catch (Exception e) {
            Toast.makeText(this, getString(R.string.error_fail_generate_qr), Toast.LENGTH_SHORT)
                    .show();
        }
        return null;
    }
QR_IMAGE_WIDTH_RATIO 是图片二维码的大小
    private static final float QR_IMAGE_WIDTH_RATIO = 1.0f; // 二维码大小

 createQRImage   方法返回的BitMap    那么直接使用你的ImageView 进行赋值 BitMaP 赋值就行

  下面  是Kotlin 的 代码

   

 private fun createQRImage(address: String): Bitmap? {
        val size = Point()
        windowManager.defaultDisplay.getSize(size)
        val imageSize = (size.x * QR_IMAGE_WIDTH_RATIO)
        try {
            val bitMatrix = MultiFormatWriter().encode(
                    address,
                    BarcodeFormat.QR_CODE,
                    imageSize.toInt(),
                    imageSize.toInt(), null)
            val barcodeEncoder = BarcodeEncoder()
            return barcodeEncoder.createBitmap(bitMatrix)
        } catch (e: Exception) {

        }

 

 

 

你可能感兴趣的:(根据字符串等生成你的专属二维码)