java - 将随机生成的字符串转换为二维码
问题描述
我需要从我随机生成的字符串中创建一个二维码。我已经研究过使用 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(链接到 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" }
}
}
推荐阅读
- javascript - 如何修复 websocket 错误:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET
- ios - Visual Studio Mac 和 VS2019 Xamarin 都无法打开 Storyboard
- deployment - 如果 Windows 可以识别但 Visual Studio 2017 不能识别,我是否还需要手机驱动程序?
- django - Selenium 与 Python - 消息:“operadriver”可执行文件需要在 PATH 中
- c# - 如何在隐身模式下运行测试?
- matlab - 如何创建一个八度函数来仅评估向量中奇数的总和?
- microsoft-translator - DocumentTranslator 应用程序是否支持 Azure 中国翻译服务?
- c# - 如何使用 C# 在 excel 中的同一单元格中使用多种颜色
- r - r studio中滚动条的编织器
- javascript - 当我在模型上传递字符串时,为什么在 ASP.net Core MVC 中会导致 Javascript 错误?