//生成二维码
Bitmap bitmap = QRCodeEncoder.encodeAsBitmap("your content", BarcodeFormat.QR_CODE, 200, 200);
//将生成的二维码显示在ImageView中
ImageView imageView = findViewById(R.id.qrcode_image);
imageView.setImageBitmap(bitmap);
private void saveImage(Bitmap bitmap) {
//获取存储路径
String directory = Environment.getExternalStorageDirectory().toString();
File myDir = new File(directory + "/qrcode_images");
//如果目录不存在,则创建目录
if (!myDir.exists()) {
myDir.mkdirs();
}
//生成图片文件名
String fileName = "qrcode_" + System.currentTimeMillis() + ".png";
File file = new File(myDir, fileName);
//保存图片
FileOutputStream outputStream = null;
try {
outputStream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
outputStream.flush();
outputStream.close();
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
}
}
Button saveButton = findViewById(R.id.save_button);
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//从ImageView中获取二维码图片
ImageView imageView = findViewById(R.id.qrcode_image);
Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
//保存图片
saveImage(bitmap);
}
});
注意:在使用保存功能前要先获取写入存储设