QR Code Generator

Библиотека:

implementation 'androidmads.library.qrgenearator:QRGenearator:1.0.3'

MainActivity

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import androidmads.library.qrgenearator.QRGContents
import androidmads.library.qrgenearator.QRGEncoder
import com.google.zxing.WriterException

class MainActivity : AppCompatActivity() {
var im: ImageView? = null
var bGenerate: Button? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
im = findViewById(R.id.imageView)
bGenerate = findViewById(R.id.button)
bGenerate?.setOnClickListener {
generateQrCode("Поставь лайк если понравилось видео!!")
}
}

private fun generateQrCode(text: String){
val qrGenerator = QRGEncoder(text, null, QRGContents.Type.TEXT, 500)
try {
val bMap = qrGenerator.encodeAsBitmap()
im?.setImageBitmap(bMap)
} catch (e: WriterException){

}
}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#6E6E6E"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="Generate"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent" />

<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="5dp"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:srcCompat="@tools:sample/avatars" />
</LinearLayout>

</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

9 комментариев для “QR Code Generator”

    1. import androidmads.library.qrgenearator.QRGContents
      import androidmads.library.qrgenearator.QRGEncoder

      Красным подсвечивает эти библиотеки и не работает

      1. \ вот нашла такой вариант:
        библиотека:
        implementation ‘com.journeyapps:zxing-android-embedded:4.3.0’
        и код, где вводишь текст и кнопка генерирует qr код.
        тут im – imageView, bGenerate – Button y edT – EditText
        class MainActivity : AppCompatActivity() {
        var im: ImageView? = null
        var bGenerate: Button? = null

        override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        im = findViewById(R.id.im)
        var edT: EditText = findViewById(R.id.edT)
        bGenerate = findViewById(R.id.bGenerate)
        bGenerate?.setOnClickListener {
        try {
        val barcodeEncode: BarcodeEncoder = BarcodeEncoder()
        val bitmap : Bitmap = barcodeEncode.encodeBitmap(edT.getText().toString(), BarcodeFormat.QR_CODE, 750, 750)
        im?.setImageBitmap(bitmap)
        } catch (e: WriterException){}

        }
        }
        }

        1. код OXANA отлично работает, но вот когда подключаешь зависимость
          implementation ‘me.dm7.barcodescanner:zbar:1.8.4’
          для чтения QR-кода, то проект не компилируется и выдает ошибку
          Duplicate class found

          Есть идеи как это победить?

        2. Я тоже нашёл этот вариант. Отлично работает с английскими буквами. Русские буквы как-то обрабатывает, но они потом не читаются с QR кода, заменяются на знак вопроса.

  1. Подскажите что не так с этой библиотекой
    implementation ‘androidmads.library.qrgenearator:QRGenearator:1.0.3’
    после синхронизации не запускается приложение

    1. Возможно не поддерживает более новые версии (не тестировал)
      Чуть выше есть решение от “OXANA” (используется другая библиотека)

Добавить комментарий для Алексей Отменить ответ

Ваш адрес email не будет опубликован.