إنشاء رموز QR باستخدام Kotlin
يمكن لمطوري Kotlin استخدام ZXing لإنشاء ومسح رموز QR في Android. يعمل بسلاسة مع Jetpack Compose وعروض Android التقليدية.
التثبيت
أضف ZXing إلى مشروع Android الخاص بك باستخدام 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")إنشاء رموز QR باستخدام Kotlin و ZXing
أمثلة كود باستخدام ZXing في Kotlin لـ 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")
}إنشاء رموز QR عبر API في Kotlin
استدعِ واجهة QRCode.fun API من Kotlin باستخدام OkHttp أو Ktor لرموز QR مُنسّقة.
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 الآن.
ZXing مقابل API
مقارنة استخدام ZXing في Kotlin مقابل واجهة QRCode.fun API.
| الميزة | مكتبة ZXing | QRCode.fun API |
|---|---|---|
| تعقيد الإعداد | تبعية Gradle + عرض Bitmap | طلب HTTP واحد عبر OkHttp |
| التخصيص | الحجم، تصحيح الأخطاء، الألوان عبر Bitmap | تنسيق كامل: ألوان وأشكال وشعارات |
| دعم عدم الاتصال | نعم | يتطلب إنترنت |
| الصيانة | تحديث تبعية Gradle | محدّث دائماً |
| صيغ الإخراج | Bitmap (Android) | PNG, SVG |
حالات استخدام Kotlin لرمز QR
سيناريوهات شائعة لرموز QR في تطبيقات Kotlin.
تطبيقات Android
إنشاء وعرض رموز QR في تطبيقات Android لمشاركة الروابط وجهات الاتصال وبيانات Wi-Fi ومعلومات الدفع.
Jetpack Compose
إنشاء مكونات QR قابلة للتركيب بتنسيق مخصص ورسوم متحركة لواجهات Android الحديثة.
Kotlin Multiplatform
مشاركة منطق إنشاء رموز QR عبر Android و iOS والحاسوب باستخدام Kotlin Multiplatform مع واجهة QRCode.fun API.
خدمات الخلفية
إنشاء رموز QR في خدمات Ktor أو Spring Boot Kotlin للتذاكر والفواتير وتدفقات المصادقة.
الأسئلة الشائعة
أسئلة شائعة حول إنشاء رموز QR باستخدام Kotlin.
ابدأ بإنشاء رموز QR باستخدام Kotlin
استخدم مولدنا المجاني أو ادمج API في تطبيقات Kotlin و Android الخاصة بك.