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コード、請求書、認証フロー用のQRコードを生成します。
よくある質問
KotlinでのQRコード生成に関する一般的な質問。
Androidでは、ZXing(zxing:core)が標準的な選択肢です。Kotlin Multiplatformやサーバーサイドでは、クロスプラットフォームの一貫性のためにQRCode.fun APIの使用を検討してください。
KotlinでQRコード生成を始めましょう
無料のジェネレーターを使用するか、APIをKotlinとAndroidアプリケーションに統合しましょう。