Библиотека:
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>
Спасибо Вам, Сергей, за урок, все понятно, доходчиво.
import androidmads.library.qrgenearator.QRGContents
import androidmads.library.qrgenearator.QRGEncoder
Красным подсвечивает эти библиотеки и не работает
\ вот нашла такой вариант:
библиотека:
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){}
}
}
}
код OXANA отлично работает, но вот когда подключаешь зависимость
implementation ‘me.dm7.barcodescanner:zbar:1.8.4’
для чтения QR-кода, то проект не компилируется и выдает ошибку
Duplicate class found
Есть идеи как это победить?
Добавьте
android.enableJetifier=true
в gradle.properties
Аналогичная проблема
Подскажите что не так с этой библиотекой
implementation ‘androidmads.library.qrgenearator:QRGenearator:1.0.3’
после синхронизации не запускается приложение
Возможно не поддерживает более новые версии (не тестировал)
Чуть выше есть решение от “OXANA” (используется другая библиотека)