¿Cómo integrar ZXing Library a Android Studio para escanear códigos de barras?
He estado buscando en Internet cómo incluir la biblioteca zxing a mi proyecto, y he encontrado este tutorial: http://blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner /
Pero cuando llego al punto que usted necesita para comprobar BeepManager para agregar la importación de R tengo todo tipo de errores en mi proyecto (Incluso en la MainActivity) que no pudo encontrar R.
- Actualizar sdk tiene NoClassDefFoundError para zxing
- Si hay cualquier tutorial para android zxing biblioteca con Fragmentos
- Incorporar la biblioteca Zxing sin utilizar la aplicación Scanner de códigos de barras
- ¿Por qué la vista previa de la cámara gira 90 grados en el emulador de Android?
- Introducción a ZXing en Android
También encontré este https://github.com/journeyapps/zxing-android-embedded/blob/master/README.md que parecía mucho más fácil porque se integró automáticamente por gradle, pero cuando sincronizo aparece un error que No pudo encontrar los archivos.
Cualquier ayuda sería apreciada 🙂 Soy nuevo en Android Studio.
EDITAR:
He añadido la configuración del método 2 (el que tiene la configuración gradle) a mi build.gradle y 4 error pop up:
Error:Failed to find: com.embarkmobile:zxing-android-legacy:2.0.0 Error:Failed to find: com.google.zxing:core:3.0.1 Error:Failed to find: com.embarkmobile:zxing-android-integration:2.0.0 Error:Failed to find: com.embarkmobile:zxing-android-minimal:2.0.0
¿Alguna ayuda?
—RESPONDER—
Para solucionar este problema necesitaba desactivar el trabajo fuera de línea en Gradle. Ir a la configuración de Android Studio> Gradle> Desmarcar 'trabajo fuera de línea' Después de eso, eres bueno para ir!
- ZXing cómo escanear código QR y código de barras 1D?
- ¿Cómo iniciar una actividad con un Intent y pasar una variable en la nueva actividad?
- Problema en la generación de eventos de calendario utilizando zxing
- Cómo utilizar el resultado del escaneo ZXING
- Cómo codificar información de contacto (MeCard) en Android mediante ZXing
- ¿Cómo abrir la pantalla de escaneo "zxing Barcode" en una pequeña ventana?
- Zxing onActivityResult no se llama en Fragmento sólo en Actividad
- Agregue el proyecto android de ZXing como biblioteca en android studio
Necesita agregar lo siguiente a su archivo build.gradle
:
repositories { mavenCentral() maven { url "http://dl.bintray.com/journeyapps/maven" } } dependencies { // Supports Android 4.0.3 and later (API level 15) compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions. // If you only plan on supporting Android 4.0.3 and up, you don't need to include this. compile 'com.journeyapps:zxing-android-legacy:2.0.1@aar' // Convenience library to launch the scanning and encoding Activities. // It automatically picks the best scanning library from the above two, depending on the // Android version and what is available. compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier. // This mostly affects encoding, but you should test if you plan to support these versions. // Older versions eg 2.2 may also work if you need support for older Android versions. compile 'com.google.zxing:core:3.0.1' }
Mi archivo build.gradle
como este:
apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.myapplication2" minSdkVersion 16 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { mavenCentral() maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' // Supports Android 4.0.3 and later (API level 15) compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar' // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions. // If you only plan on supporting Android 4.0.3 and up, you don't need to include this. compile 'com.embarkmobile:zxing-android-legacy:2.0.0@aar' // Convenience library to launch the scanning and encoding Activities. // It automatically picks the best scanning library from the above two, depending on the // Android version and what is available. compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar' // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier. // This mostly affects encoding, but you should test if you plan to support these versions. // Older versions eg 2.2 may also work if you need support for older Android versions. compile 'com.google.zxing:core:3.0.1' }
El código está aquí .
Además, para saber cómo usarlo, por favor, consulte mi respuesta en el Stackoverflow aquí
Contiene el método y también el código simple que he probado.
A partir de la versión 3 de zxing-android-embedded sólo tiene que agregar a su archivo build.gradle
:
repositories { jcenter() } dependencies { compile 'com.journeyapps:zxing-android-embedded:3.0.2@aar' compile 'com.google.zxing:core:3.2.0' }
Siga los pasos en: https://github.com/journeyapps/zxing-android-embedded/
Ahora también permite el modo retrato con cambios simples en IntentIntegrator
y formas más sencillas de personalizar las vistas.
Tengo que trabajar con esto:
repositories { mavenCentral() maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } } compile 'com.google.zxing:core:3.2.1' compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar' compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
Recomiendo el uso de IntentIntegrator
IntentIntegrator integrator = new IntentIntegrator(getActivity()); integrator.forSupportFragment(this).initiateScan();
El requestCode vuelve con IntentIntegrator.REQUEST_CODE
La forma más fácil de integrar ZXing para el escaneo de códigos de barras o Qr.
Para obtener una referencia completa: Scan Barcode ZXing Android
Añadir dependencias
compile 'me.dm7.barcodescanner:zxing:1.9'
ScanActivity
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.google.zxing.Result; import me.dm7.barcodescanner.zxing.ZXingScannerView; public class ScanActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler{ private ZXingScannerView mScannerView; @Override public void onCreate(Bundle state) { super.onCreate(state); mScannerView = new ZXingScannerView(this); // Programmatically initialize the scanner view setContentView(mScannerView); // Set the scanner view as the content view } @Override public void onResume() { super.onResume(); mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results. mScannerView.startCamera(); // Start camera on resume } @Override public void onPause() { super.onPause(); mScannerView.stopCamera(); // Stop camera on pause } @Override public void handleResult(Result rawResult) { // Do something with the result here // Log.v("tag", rawResult.getText()); // Prints scan results // Log.v("tag", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.) MainActivity.tvresult.setText(rawResult.getText()); onBackPressed(); // If you would like to resume scanning, call this method below: //mScannerView.resumeCameraPreview(this); } }
- Editar texto en ListActivity ListView pierde foco cuando aparece el teclado
- Uso de Android RecognizerIntent con un auricular bluetooth