Библиотека Kotlin QR Code

Генерация QR-кодов на Kotlin

Kotlin-разработчики могут использовать ZXing для генерации и сканирования QR-кодов на Android. Бесшовная работа с Jetpack Compose и традиционными Android Views.

Установка

Добавьте ZXing в свой Android-проект через 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")

Генерация QR-кодов на Kotlin с ZXing

Примеры кода с использованием ZXing в Kotlin для 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

Генерация QR-кодов через API на Kotlin

Вызовите API QRCode.fun из Kotlin с помощью OkHttp или Ktor для стилизованных QR-кодов.

Интеграция API 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
}

Предпросмотр QR-кода

Попробуйте сгенерировать QR-код на Kotlin прямо сейчас.

Предпросмотр QR

ZXing vs API

Сравните использование ZXing в Kotlin с API QRCode.fun.

ФункцияБиблиотека ZXingQRCode.fun API
Сложность настройкиЗависимость Gradle + рендеринг BitmapОдин HTTP-запрос через OkHttp
КастомизацияРазмер, коррекция ошибок, цвета через BitmapПолное оформление: цвета, формы, логотипы
Офлайн-поддержкаДаТребуется интернет
ОбслуживаниеОбновление зависимости GradleВсегда актуально
Форматы выводаBitmap (Android)PNG, SVG

Сценарии использования QR-кодов в Kotlin

Типичные сценарии для QR-кодов в Kotlin-приложениях.

Android-приложения

Генерируйте и отображайте QR-коды в Android-приложениях для обмена ссылками, контактами, Wi-Fi-данными и платёжной информацией.

Jetpack Compose

Создавайте composable-компоненты QR-кодов с настраиваемым оформлением и анимациями для современных Android-интерфейсов.

Kotlin Multiplatform

Делитесь логикой генерации QR-кодов между Android, iOS и десктопом с помощью Kotlin Multiplatform и API QRCode.fun.

Бэкенд-сервисы

Генерируйте QR-коды в сервисах Ktor или Spring Boot на Kotlin для билетов, счетов и потоков аутентификации.

Часто задаваемые вопросы

Популярные вопросы о генерации QR-кодов на Kotlin.

Для Android ZXing (zxing:core) — стандартный выбор. Для Kotlin Multiplatform или серверной части рассмотрите API QRCode.fun для согласованности между платформами.

Начните генерировать QR-коды на Kotlin

Используйте наш бесплатный генератор или интегрируйте API в свои Kotlin и Android приложения.