BÀI 84 - TẠO MÃ QR CODE TRONG ANDROID
Thêm thư viện này
implementation 'com.google.zxing:core:3.3.3'
QR code sẽ được hiển thị trong một ImageView
<FrameLayout
android:id="@+id/textView_QRcode_tenduAn"
android:layout_below="@+id/textView_QRcode_tieude"
android:layout_centerHorizontal="true"
android:background="@drawable/background_maqr"
android:layout_margin="20dp"
android:layout_width="250dp"
android:layout_height="250dp"
tools:ignore="UselessLeaf,UselessParent" >
<ImageView
android:id="@+id/imageView_QRCode_taoMa"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
tools:ignore="ContentDescription" />
</FrameLayout>
Chuẩn bị một cái chuỗi để đổi thành QR là xong.
QR code này sẽ có 512 x 512 điểm màu
Với điểm màu trắng và màu đen
private void SetupQR() {
if (textQR != null && textQR.length() > 0){
QRCodeWriter writer = new QRCodeWriter();
try {
BitMatrix bitMatrix = writer.encode(textQR, BarcodeFormat.QR_CODE, 512, 512);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
bmp.setPixel(x, y, bitMatrix.get(x, y) ? Color.BLACK : Color.WHITE);
}
}
imgQRcode.setImageBitmap(bmp);
} catch (WriterException e) {
e.printStackTrace();
}
}
}