[JAVA] Lesen und generieren Sie QR-Code [Android]

Entwicklungsumgebung

OS: macOS HighSierra Android Studio: 3.0.1

・ API-Level-Einstellung

build.gradle


android {
    compileSdkVersion 26
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
        }
}

Vorstellung der Bibliothek

Zu verwendende Bibliothek: zxing-android-embedded (3.6.0) https://github.com/journeyapps/zxing-android-embedded

So fügen Sie dem Projekt hinzu: Fügen Sie den folgenden Satz zu build.gradle hinzu (Modul: App).

build.gradle


dependencies {
    ...
    compile 'com.journeyapps:zxing-android-embedded:3.6.0'
}

Lesen Sie den QR-Code

Starten Sie die Lesekamera

python



new IntentIntegrator(MainActivity.this).initiateScan();

Schreiben Sie den obigen Code an die Stelle, an der Sie lesen möchten. Ändern Sie den Teil von "MainActivity.this" in den Namen der Zielaktivität und verwenden Sie ihn.

Erfassung der Leseergebnisse

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if(result != null) {
            Log.d("readQR", result.getContents());
        } else {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }

Die gelesenen Daten können als String-Typ mit getContents () empfangen werden.

QR-Code-Generierung

python


//Zeichenfolge, die QR-codiert werden soll
String data = "https://www.google.com";
//Geben Sie die Größe des QR-Code-Bildes an(pixel)
int size = 500;


try {
    BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
    //Erstellen Sie einen QR-Code mit Bitmap
    Bitmap bitmap = barcodeEncoder.encodeBitmap(data,BarcodeFormat.QR_CODE, size, size);

    //Platzieren Sie den erstellten QR-Code auf dem Bildschirm
    ImageView imageViewQrCode = (ImageView) findViewById(R.id.imageView);
    imageViewQrCode.setImageBitmap(bitmap);

} catch (WriterException e) {
    throw new AndroidRuntimeException("Barcode Error.", e);
}

-Der Inhalt von "Daten" spiegelt sich im QR-Code wider.

Bereiten Sie ImageView in der XML-Datei vor, die Acticity entspricht. Platzieren Sie den von Bitmap erstellten QR-Code und zeigen Sie ihn auf dem Bildschirm an.

** <Wenn Sie den Zeichencode, die Fehlerkorrekturstufe, die QR-Code-Version usw. angeben möchten.> **

python



String data = "https://www.google.com"; //Zeichenfolge, die QR-codiert werden soll
//Geben Sie die Größe des QR-Code-Bildes an(pixel)
int size = 500;

try {
    BarcodeEncoder barcodeEncoder = new BarcodeEncoder();

    HashMap hints = new HashMap();

    //Zeichencode-Spezifikation
    hints.put(EncodeHintType.CHARACTER_SET, "shiftjis");

    //Geben Sie die Fehlerkorrekturstufe an
        //L 7%Kann wiederhergestellt werden
        //M 15%Kann wiederhergestellt werden
        //Q 25%Kann wiederhergestellt werden
        //H 30%Kann wiederhergestellt werden
    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);

    //Geben Sie die QR-Code-Version an
    hints.put(EncodeHintType.QR_VERSION, 20);

    Bitmap bitmap = barcodeEncoder.encodeBitmap(data, BarcodeFormat.QR_CODE, size, size, hints);

    ImageView imageViewQrCode = (ImageView) findViewById(R.id.imageView);
    imageViewQrCode.setImageBitmap(bitmap);

} catch (WriterException e) {
    throw new AndroidRuntimeException("Barcode Error.", e);
}

Sie können "EncodeHintType" verwenden, um einen QR-Code mit detaillierten Spezifikationen zu erstellen.

Recommended Posts

Lesen und generieren Sie QR-Code [Android]
[Android] Mit zxing aus dem QR-Code-Bild lesen
[Ruby] Generiere verketteten QR-Code mit rqrcode (Knowledge)
[Ruby] Generiere verketteten QR-Code mit rqrcode (Übung)
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Lesen und schreiben Sie wie java.nio
Federvalidierung und Fehlercode
Verwenden Sie nativen Code unter Android
[Java] [Android] INI-Datei lesen