将随机生成的字符串转换为二维码

converting a randomly generated string into a qrcode

我需要用随机生成的字符串创建二维码。我已经研究过使用 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();
}

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

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" }
    }
}