Tôi đã sử dụng ZXing-1.3 jar và tôi đã phải thực hiện một số thay đổi thực hiện mã từ câu trả lời khác, vì vậy tôi sẽ để lại cho tôi, giải pháp cho người khác. Tôi đã làm như sau:
1) tìm zxing-1.3.jar, tải xuống và thêm thuộc tính (thêm jar bên ngoài).
2) trong bố cục hoạt động của tôi thêm ImageView và đặt tên cho nó (trong ví dụ của tôi là tnsd_iv_qr).
3) bao gồm mã trong hoạt động của tôi để tạo ra hình ảnh qr (trong ví dụ này, tôi đã tạo ra QR cho thanh toán Bitcoin):
QRCodeWriter writer = new QRCodeWriter();
ImageView tnsd_iv_qr = (ImageView)findViewById(R.id.tnsd_iv_qr);
try {
ByteMatrix bitMatrix = writer.encode("bitcoin:"+btc_acc_adress+"?amount="+amountBTC, BarcodeFormat.QR_CODE, 512, 512);
int width = 512;
int height = 512;
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
if (bitMatrix.get(x, y)==0)
bmp.setPixel(x, y, Color.BLACK);
else
bmp.setPixel(x, y, Color.WHITE);
}
}
tnsd_iv_qr.setImageBitmap(bmp);
} catch (WriterException e) {
//Log.e("QR ERROR", ""+e);
}
Nếu ai đó đang tự hỏi, biến "btc_acc_adress" là một String (với BTC địa chỉ), amountBTC là một đôi, với, tất nhiên, số tiền giao dịch.
Nguồn
2014-12-01 13:31:40
bạn có thể sử dụng ZXing mở của nó nguồn – nandeesh
zxing không phải là một API web, trên thực tế, hãy xem bên dưới –
Thử ứng dụng thử nghiệm đơn giản của tôi để tạo bitmap QR tại đây: http://stackoverflow.com/a/30529519/165071 –