Kotlin Jetpack ComposeでQRコードを表示する

Kotlin Kotlin
Kotlin

Androidアプリの開発で、QRコードを表示するための方法です。
ZXingを使用したやり方です。

準備

build.gradleに下記のコードを追加しました。
バージョンは4.3.0の時点のものです。

implementation 'com.journeyapps:zxing-android-embedded:4.3.0'

表示する画面への実装

QRコードの生成

try {
    val barcodeEncoder = BarcodeEncoder()
    val bitmap: Bitmap = barcodeEncoder.encodeBitmap("生成したい内容(URLなど)", BarcodeFormat.QR_CODE, 400, 400)
} catch (e: Exception) {
}

これだけでQRコードが生成されます。

「val bitmap」の部分に、Bitmapデータが入りますので、Jetpack ComposeのImageに挿入します。

そのままだとImageのbitmapに入れる事ができません。
ImageBitmapの型でないと入れれないので、変換して入れる事が出来ます。

BitmapをImageBitmapに変換する

val image: ImageBitmap? = qrcode?.asImageBitmap()
if (image != null) {
    Image(bitmap = image, contentDescription = "")
}

以上でQRコードを生成し、表示する事ができました。

非常に簡単でした\(^o^)/

コメント

タイトルとURLをコピーしました