Запутался в организации кода для простого приложения для Android.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Запутался в организации кода для простого приложения для Android.

Сообщение Anonymous »

Простое одноэкранное приложение с двумя кнопками и полем для ввода данных. Попытка реализовать сканирование штрих-кода для поля данных. Непонятно, куда должен идти код сканера? Экземпляр сканера отображается как «не используется». Как сделать экземпляр видимым для функции clickToScan?

Код: Выделить всё

package com.example.mngv3
import android.os.Bundle
import android.view.View
import android.widget.Toast
import com.google.mlkit.vision.barcode.common.Barcode
import android.widget.EditText
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.google.mlkit.vision.codescanner.GmsBarcodeScanner
import com.google.mlkit.vision.codescanner.GmsBarcodeScannerOptions
import com.google.mlkit.vision.codescanner.GmsBarcodeScanning

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
}
// Not sure where this code should go???
// Establish scan symbologies
val options = GmsBarcodeScannerOptions.Builder()
.setBarcodeFormats(
Barcode.FORMAT_CODE_39,
Barcode.FORMAT_CODE_128,
Barcode.FORMAT_QR_CODE,
Barcode.FORMAT_DATA_MATRIX
)
.build()
// Next "scanner" shows as unused???
// Establish scanner instance
val scanner = GmsBarcodeScanning.getClient(this,options)

fun clickToScan(view: View,scanner: GmsBarcodeScanner) {
// This function is triggered by onClick in activity_main.xmlScan button
scanner.startScan()
.addOnSuccessListener { barcode ->
// Task completed successfully
val result = barcode.rawValue
return@addOnSuccessListener Toast.makeText(this, result, Toast.LENGTH_LONG)
.show()
}
.addOnFailureListener {
// Task failed with an exception
return@addOnFailureListener Toast.makeText(
this,"Scanning failed!", Toast.LENGTH_LONG)
.show()
}
}

}
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... ndroid-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»