首页 > 解决方案 > 将随机生成的字符串转换为二维码

问题描述

我需要从我随机生成的字符串中创建一个二维码。我已经研究过使用 zxing 来执行此操作,但我不确定它是否是创建 QRcode 的最佳方式。下面的代码是我到目前为止所做的工作。它所做的只是当我按下按钮时,它会在 TextView 中显示随机字符串。只是想知道有没有一种简单的方法可以做到这一点?谢谢。

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            textView.setText(getRandomString(12));

        }
    });

}

private static String getRandomString(int i ){
    final String chars = "abcdefghijklmonpqrstuvwxyz0123456789";
    StringBuilder results = new StringBuilder();
    while (i > 0) {

        Random rand = new Random();
        results.append(chars.charAt(rand.nextInt(chars.length())));
        i--;
    }
    return results.toString();
}

标签: javaandroidqr-code

解决方案


我可以向您推荐一个易于使用的库QRGen(链接到 Github)。它基于 Zxing 并从 String 生成位图。代码示例在自述文件中。我没有编写这个库,但在使用它的过程中我可以说它有效。我的代码示例:

String str = "your randomized string"
Bitmap bmp = QRCode.from(contactString).bitmap()
// use a bitmap with bmp variable

在 build.gradle 中你应该使用 'implementation' 方法而不是 'compile' (它最近被弃用了)。

implementation 'com.github.kenglxn.QRGen:android:2.6.0'

备注:请记住在 build.gradle 文件中为 maven 添加 jitpack.io 存储库:

allprojects {
    repositories {
        // ...
        maven { url "https://jitpack.io" }
    }
}

推荐阅读