Biblioteca de Códigos QR en Kotlin

Genera Códigos QR con Kotlin

Los desarrolladores de Kotlin pueden usar ZXing para generación y escaneo de códigos QR en Android. Funciona perfectamente con Jetpack Compose y vistas tradicionales de Android.

Instalación

Agrega ZXing a tu proyecto Android usando Gradle.

Gradle (Android)
implementation("com.google.zxing:core:3.5.3")
Gradle (with image)
implementation("com.google.zxing:core:3.5.3")
implementation("com.google.zxing:javase:3.5.3")

Genera Códigos QR con Kotlin y ZXing

Ejemplos de código usando ZXing en Kotlin para Android.

Generate QR Code Bitmap (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")
Jetpack Compose QR Code
@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")
}
QRCode.fun API

Genera Códigos QR vía API en Kotlin

Llama a la API de QRCode.fun desde Kotlin usando OkHttp o Ktor para códigos QR estilizados.

Integración de API en Kotlin
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
}

Vista Previa de Código QR en Vivo

Prueba a generar un código QR con Kotlin ahora mismo.

Vista previa QR

ZXing vs API

Compara el uso de ZXing en Kotlin con la API de QRCode.fun.

CaracterísticaBiblioteca ZXingQRCode.fun API
Complejidad de configuraciónDependencia Gradle + renderizado BitmapUna sola solicitud HTTP vía OkHttp
PersonalizaciónTamaño, corrección de errores, colores vía BitmapEstilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
MantenimientoActualización de dependencia GradleSiempre actualizado
Formatos de salidaBitmap (Android)PNG, SVG

Casos de Uso de Códigos QR en Kotlin

Escenarios comunes para códigos QR en aplicaciones Kotlin.

Aplicaciones Android

Genera y muestra códigos QR en aplicaciones Android para compartir enlaces, contactos, credenciales Wi-Fi e información de pago.

Jetpack Compose

Crea componentes composables de códigos QR con estilos y animaciones personalizados para interfaces modernas de Android.

Kotlin Multiplatform

Comparte lógica de generación de códigos QR entre Android, iOS y escritorio usando Kotlin Multiplatform con la API de QRCode.fun.

Servicios Backend

Genera códigos QR en servicios Ktor o Spring Boot Kotlin para boletos, facturas y flujos de autenticación.

Preguntas Frecuentes

Preguntas comunes sobre la generación de códigos QR con Kotlin.

Para Android, ZXing (zxing:core) es la opción estándar. Para Kotlin Multiplatform o del lado del servidor, considera usar la API de QRCode.fun para consistencia entre plataformas.

Comienza a generar códigos QR con Kotlin

Usa nuestro generador gratuito o integra la API en tus aplicaciones Kotlin y Android.