OS: macOS HighSierra Android Studio: 3.0.1
・ Réglage du niveau d'API
build.gradle
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 15
targetSdkVersion 26
}
}
Bibliothèque à utiliser: zxing-android-embedded (3.6.0) https://github.com/journeyapps/zxing-android-embedded
Comment ajouter au projet: Ajoutez la phrase suivante à build.gradle (Module: app).
build.gradle
dependencies {
...
compile 'com.journeyapps:zxing-android-embedded:3.6.0'
}
python
new IntentIntegrator(MainActivity.this).initiateScan();
Écrivez le code ci-dessus où vous voulez lire.
Remplacez la partie de MainActivity.this
par le nom de l'activité cible et utilisez-la.
@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);
}
}
Les données lues peuvent être reçues sous forme de type String avec getContents ()
.
python
//Chaîne de caractères à coder QR
String data = "https://www.google.com";
//Spécifiez la taille de l'image du code QR(pixel)
int size = 500;
try {
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
//Créer un code QR avec Bitmap
Bitmap bitmap = barcodeEncoder.encodeBitmap(data,BarcodeFormat.QR_CODE, size, size);
//Placez le code QR créé sur l'écran
ImageView imageViewQrCode = (ImageView) findViewById(R.id.imageView);
imageViewQrCode.setImageBitmap(bitmap);
} catch (WriterException e) {
throw new AndroidRuntimeException("Barcode Error.", e);
}
-Le contenu de data
est reflété dans le code QR.
-Spécifiez la taille de l'image avec size
.
Préparez ImageView dans le fichier xml correspondant à Acticity, Placez le code QR créé par Bitmap et affichez-le à l'écran.
** <Si vous souhaitez spécifier le code de caractère, le niveau de correction d'erreur, la version du code QR, etc.> **
python
String data = "https://www.google.com"; //Chaîne de caractères à coder QR
//Spécifiez la taille de l'image du code QR(pixel)
int size = 500;
try {
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
HashMap hints = new HashMap();
//Spécification du code de caractère
hints.put(EncodeHintType.CHARACTER_SET, "shiftjis");
//Spécifiez le niveau de correction d'erreur
//L 7%Peut être restauré
//M 15%Peut être restauré
//Q 25%Peut être restauré
//H 30%Peut être restauré
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//Spécifiez la version du code QR
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);
}
Vous pouvez utiliser ʻEncodeHintType` pour créer un code QR avec des spécifications détaillées.
Recommended Posts