Kotlin QR-Code-Generator: Erstellung und Anpassung von QR-Codes

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Kotlin QR-Code-Generator: Vollständige Anleitung



QR-Codes sind zu einem festen Bestandteil der modernen digitalen Welt geworden. Sie werden für den schnellen Austausch von Informationen genutzt: von Website-Links über Kontaktdaten bis hin zu WLAN-Passwörtern. In diesem Artikel betrachten wir, wie Sie mit der beliebten Bibliothek ZXing („Zebra Crossing“) einen eigenen QR-Code-Generator in Kotlin erstellen. Kotlin, als moderne und prägnante Sprache, eignet sich hervorragend für die Entwicklung sowohl von Server- als auch von mobilen Android-Anwendungen. Sie erfahren, wie Sie QR-Codes verschiedener Typen generieren, ihr Erscheinungsbild anpassen und in Ihre Projekte integrieren.



Warum Kotlin und ZXing?



Kotlin ist eine statisch typisierte Sprache, die auf der JVM läuft und von Google für die Android-Entwicklung aktiv unterstützt wird. Ihre Syntax ist sauber und ausdrucksstark, was den Code lesbarer und weniger fehleranfällig macht. Die Bibliothek ZXing ist der De-facto-Standard für die Arbeit mit QR-Codes und Barcodes im Java/Kotlin-Ökosystem. Sie unterstützt zahlreiche Formate (QR Code, Data Matrix, Aztec und andere) und bietet flexible Anpassungsmöglichkeiten.



Installation und Einrichtung



Fügen Sie zunächst die Abhängigkeit zu Ihrer build.gradle.kts-Datei hinzu (falls Sie Gradle verwenden):



// Für ein JVM-Projektimplementation("com.google.zxing:core:3.5.3")implementation("com.google.zxing:javase:3.5.3")

// Für ein Android-Projekt (normalerweise reicht core)implementation("com.google.zxing:core:3.5.3")


Wenn Sie mit Maven arbeiten, fügen Sie die entsprechenden Abhängigkeiten in Ihre pom.xml ein.



Basisbeispiel: Generierung eines einfachen QR-Codes



Lassen Sie uns eine einfache Funktion erstellen, die einen QR-Code aus einer Textzeichenfolge generiert und als PNG-Bild speichert.



import com.google.zxing.BarcodeFormatimport com.google.zxing.qrcode.QRCodeWriterimport com.google.zxing.client.j2se.MatrixToImageWriterimport java.nio.file.Paths

fun generateQRCode(text: String, filePath: String, width: Int = 300, height: Int = 300) { val writer = QRCodeWriter() val bitMatrix = writer.encode(text, BarcodeFormat.QR_CODE, width, height) val path = Paths.get(filePath) MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path) println("QR-Code erfolgreich gespeichert unter: $filePath")}

fun main() { generateQRCode("https://pythonlib.ru", "qrcode_pythonlib.png")}


Erklärung des Codes:

  • QRCodeWriter() — erstellt eine Instanz des Writers für QR-Codes.
  • encode() — kodiert die Zeichenfolge in eine Bitmatrix (Schwarz-Weiß-Bild).
  • MatrixToImageWriter.writeToPath() — eine praktische Methode zum Speichern der Matrix in eine Datei.


Anpassung von Farbe und Größe



Standardmäßig wird der QR-Code schwarz-weiß. Sie können seine Farben mit MatrixToImageConfig ändern. Hier ist ein Beispiel mit einem grünen Code auf weißem Hintergrund:



import com.google.zxing.client.j2se.MatrixToImageConfigimport java.awt.Colorimport java.awt.image.BufferedImage

fun generateColoredQRCode(text: String, filePath: String, foregroundColor: Color = Color.BLACK, backgroundColor: Color = Color.WHITE) { val writer = QRCodeWriter() val bitMatrix = writer.encode(text, BarcodeFormat.QR_CODE, 300, 300) val config = MatrixToImageConfig(foregroundColor.rgb, backgroundColor.rgb) val bufferedImage = MatrixToImageWriter.toBufferedImage(bitMatrix, config) // BufferedImage in Datei speichern val outputFile = java.io.File(filePath) javax.imageio.ImageIO.write(bufferedImage, "PNG", outputFile) println("Farbiger QR-Code gespeichert unter: $filePath")}

fun main() { generateColoredQRCode("Hallo, Kotlin!", "colored_qr.png", foregroundColor = Color(0x00AA00),

Empfehlungen