Kotlin QR코드 라이브러리

Kotlin으로 QR코드 생성

Kotlin 개발자는 ZXing을 사용하여 Android QR코드 생성 및 스캔이 가능합니다. Jetpack Compose와 기존 Android Views와 원활하게 작동합니다.

설치

Gradle을 사용하여 Android 프로젝트에 ZXing을 추가하세요.

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")

Kotlin과 ZXing으로 QR코드 생성

Kotlin for Android에서 ZXing을 사용한 코드 예제.

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

Kotlin에서 API로 QR코드 생성

OkHttp 또는 Ktor를 사용하여 Kotlin에서 QRCode.fun API를 호출하여 스타일 QR코드를 생성하세요.

Kotlin API 통합
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코드 라이브 미리보기

지금 바로 Kotlin으로 QR코드를 생성해 보세요.

QR 미리보기

ZXing vs API

Kotlin에서 ZXing 사용과 QRCode.fun API 비교.

기능ZXing 라이브러리QRCode.fun API
설정 복잡도Gradle 의존성 + Bitmap 렌더링OkHttp를 통한 단일 HTTP 요청
커스터마이징크기, 오류 정정 레벨, Bitmap을 통한 색상전체 스타일링: 색상, 모양, 로고
오프라인 지원인터넷 필요
유지보수Gradle 의존성 업데이트항상 최신 상태
출력 형식Bitmap (Android)PNG, SVG

Kotlin QR코드 사용 사례

Kotlin 애플리케이션에서 QR코드의 일반적인 시나리오.

Android 앱

Android 앱에서 링크 공유, 연락처, Wi-Fi 자격 증명, 결제 정보를 위한 QR코드를 생성하고 표시합니다.

Jetpack Compose

커스텀 스타일링과 애니메이션이 포함된 컴포저블 QR코드 컴포넌트를 만들어 모던 Android UI에 사용합니다.

Kotlin Multiplatform

QRCode.fun API를 사용하여 Kotlin Multiplatform으로 Android, iOS, 데스크톱 간에 QR코드 생성 로직을 공유합니다.

백엔드 서비스

Ktor 또는 Spring Boot Kotlin 서비스에서 티켓, 송장, 인증 플로를 위한 QR코드를 생성합니다.

자주 묻는 질문

Kotlin으로 QR코드 생성에 관한 일반적인 질문.

Android에서는 ZXing(zxing:core)이 표준 선택입니다. Kotlin Multiplatform이나 서버 사이드에서는 크로스 플랫폼 일관성을 위해 QRCode.fun API 사용을 고려하세요.

Kotlin으로 QR코드 생성 시작하기

무료 생성기를 사용하거나 API를 Kotlin 및 Android 애플리케이션에 통합하세요.