Générer des Codes QR avec Kotlin
Les développeurs Kotlin peuvent utiliser ZXing pour la génération et le scan de codes QR sur Android. Fonctionne parfaitement avec Jetpack Compose et les vues Android traditionnelles.
Installation
Ajoutez ZXing à votre projet Android avec Gradle.
implementation("com.google.zxing:core:3.5.3")implementation("com.google.zxing:core:3.5.3")
implementation("com.google.zxing:javase:3.5.3")Générer des Codes QR avec Kotlin et ZXing
Exemples de code utilisant ZXing en Kotlin pour Android.
import android.graphics.Bitmap
import com.google.zxing.BarcodeFormat
import com.google.zxing.MultiFormatWriter
fun generateQRCode(data: String, size: Int = 300): Bitmap {
val matrix = MultiFormatWriter().encode(
data, BarcodeFormat.QR_CODE, size, size
)
return Bitmap.createBitmap(size, size, Bitmap.Config.RGB_565).apply {
for (x in 0 until size) {
for (y in 0 until size) {
setPixel(x, y, if (matrix[x, y]) 0xFF1A2B3C.toInt() else 0xFFFFFFFF.toInt())
}
}
}
}
// Usage
val qrBitmap = generateQRCode("https://qrcode.fun")@Composable
fun QRCodeImage(
data: String,
modifier: Modifier = Modifier,
size: Int = 300
) {
val bitmap = remember(data) { generateQRCode(data, size) }
Image(
bitmap = bitmap.asImageBitmap(),
contentDescription = "QR Code",
modifier = modifier.size(200.dp)
)
}
// Usage in a Composable
@Composable
fun MyScreen() {
QRCodeImage(data = "https://qrcode.fun")
}Générer des Codes QR via API en Kotlin
Appelez l'API QRCode.fun depuis Kotlin avec OkHttp ou Ktor pour des codes QR stylisés.
import okhttp3.*
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody
import org.json.JSONObject
suspend fun generateQRCodeViaAPI(data: String): String {
val client = OkHttpClient()
val json = JSONObject().apply {
put("data", data)
put("width", 300)
put("height", 300)
put("type", "png")
put("margin", 10)
put("dotsOptions", JSONObject().apply {
put("color", "#1A2B3C")
put("type", "rounded")
})
put("cornersSquareOptions", JSONObject().apply {
put("color", "#8564C3")
put("type", "extra-rounded")
})
put("backgroundOptions", JSONObject().apply {
put("color", "#FFFFFF")
})
}
val request = Request.Builder()
.url("https://qrcode.fun/api/generate-qr-styled")
.post(json.toString().toRequestBody("application/json".toMediaType()))
.build()
val response = client.newCall(request).execute()
val result = JSONObject(response.body?.string() ?: "")
return result.getString("data") // base64 PNG data URL
}Aperçu du Code QR en Direct
Essayez de générer un code QR avec Kotlin maintenant.
ZXing vs API
Comparez l'utilisation de ZXing en Kotlin avec l'API QRCode.fun.
| Fonctionnalité | Bibliothèque ZXing | QRCode.fun API |
|---|---|---|
| Complexité de configuration | Dépendance Gradle + rendu Bitmap | Une seule requête HTTP via OkHttp |
| Personnalisation | Taille, correction d'erreur, couleurs via Bitmap | Stylisation complète : couleurs, formes, logos |
| Support hors ligne | Oui | Nécessite internet |
| Maintenance | Mise à jour de dépendance Gradle | Toujours à jour |
| Formats de sortie | Bitmap (Android) | PNG, SVG |
Cas d'Utilisation des Codes QR en Kotlin
Scénarios courants pour les codes QR dans les applications Kotlin.
Applications Android
Générez et affichez des codes QR dans les applications Android pour partager des liens, contacts, identifiants Wi-Fi et informations de paiement.
Jetpack Compose
Créez des composants composables de codes QR avec des styles et animations personnalisés pour les interfaces Android modernes.
Kotlin Multiplatform
Partagez la logique de génération de codes QR entre Android, iOS et bureau avec Kotlin Multiplatform et l'API QRCode.fun.
Services Backend
Générez des codes QR dans les services Ktor ou Spring Boot Kotlin pour les billets, factures et flux d'authentification.
Questions Fréquemment Posées
Questions courantes sur la génération de codes QR avec Kotlin.
Commencez à générer des codes QR avec Kotlin
Utilisez notre générateur gratuit ou intégrez l'API dans vos applications Kotlin et Android.