OS: macOS HighSierra Android Studio: 3.0.1
・ API-Level-Einstellung
build.gradle
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 15
targetSdkVersion 26
}
}
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'
}
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.
@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.
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