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();

}

}

}