¿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.

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!

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); } } 
  • Incorporación de ZXing en la aplicación de Android
  • Escáner de código de barras zxing en una div fija en phonegap android app
  • El uso del escáner de código de barras de Zxing causa la excepción de seguridad
  • Cómo activar el modo de escaneo masivo utilizando la biblioteca Zxing en mi aplicación para escanear códigos de barras múltiples y qrcodes sin mostrar una pantalla de vista previa
  • Zxing usando diseño personalizado
  • Cómo importar la biblioteca ZXING en la aplicación Android?
  • Zxing modo retrato de la cámara y el paisaje en Android
  • Orientación de Android zxing: ResultMetaData es null, Get Rotation / Orientation
  • Mi sentencia java if no parece estar funcionando
  • Integración de la biblioteca de ZXing directamente en mi aplicación de Android
  • Escaneo de códigos QR sin cámara de pantalla completa
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.