Saltar al contenido

Integrar ZXing en Android Studio

Te sugerimos que revises esta respuesta en un entorno controlado antes de enviarlo a producción, saludos.

Solución:

Estaba integrando ZXING en una aplicación de Android y no había buenas fuentes para la entrada en general, les daré una pista sobre lo que funcionó para mí: porque resultó ser muy fácil.

Hay un repositorio git realmente útil que proporciona la zxing proyecto de biblioteca de Android como un archivo AAR.

  • https://github.com/journeyapps/zxing-android-incrustado

Todo lo que tienes que hacer es agregar esto a tu build.gradle

repositories 
    jcenter()


dependencies 
    implementation 'com.journeyapps:zxing-android-embedded:[email protected]'
    implementation 'com.google.zxing:core:3.2.0'

y Gradle hace toda la magia para compilar el código y lo hace accesible en su aplicación.

Para iniciar el escáner después, use esta clase/método: De la actividad:

new IntentIntegrator(this).initiateScan(); // `this` is the current Activity

De un Fragmento:

IntentIntegrator.forFragment(this).initiateScan(); // `this` is the current Fragment
// If you're using the support library, use IntentIntegrator.forSupportFragment(this) instead.

Hay varias opciones de personalización:

IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
integrator.setPrompt("Scan a barcode");
integrator.setCameraId(0);  // Use a specific camera of the device
integrator.setBeepEnabled(false);
integrator.setBarcodeImageEnabled(true);
integrator.initiateScan();

Ellos tienen un proyecto de muestra y están proporcionando varios ejemplos de integración:

  • Cualquier Orientación Captura Actividad
  • Actividad de captura continua
  • Actividad de escáner personalizado
  • Barra de herramientasCapturar actividad

Si ya visitó el enlace, verá que acabo de copiar y pegar el código del git README. Si no, vaya allí para obtener más información y ejemplos de código.

buttion.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View v) 

                new com.google.zxing.integration.android.IntentIntegrator(Fragment.this).initiateScan();
            
        );

    public void onActivityResult(int requestCode, int resultCode, Intent data) 
        IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
        if(result != null) 
            if(result.getContents() == null) 
                Log.d("MainActivity", "Cancelled scan");
                Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
             else 
                Log.d("MainActivity", "Scanned");
                Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
            
         else 
            // This is important, otherwise the result will not be passed to the fragment
            super.onActivityResult(requestCode, resultCode, data);
        
    



dependencies 
    compile 'com.journeyapps:zxing-android-embedded:[email protected]'
    compile 'com.google.zxing:core:3.2.1'
    compile 'com.android.support:appcompat-v7:23.1.0'

Cualquiera que tenga los mismos problemas, siga estos sencillos pasos:

Importar el proyecto android de descargado zxing-master archivo zip usando la opción Import project (Eclipse ADT, Gradle, etc.) y agregue las 2 líneas de códigos en el nivel de su aplicación build.gradle archivo y ya está listo para ejecutar.

Así de sencillo, jejeje…

dependencies 
        // https://mvnrepository.com/artifact/com.google.zxing/core
        compile group: 'com.google.zxing', name: 'core', version: '3.2.1'
        // https://mvnrepository.com/artifact/com.google.zxing/android-core
        compile group: 'com.google.zxing', name: 'android-core', version: '3.2.0'

    

Siempre puedes encontrar la última versión core y android core de los siguientes enlaces:

https://mvnrepository.com/artifact/com.google.zxing/core/3.2.1 https://mvnrepository.com/artifact/com.google.zxing/android-core/3.2.0

ACTUALIZACIÓN (29.05.2019)

Agregue estas dependencias en su lugar:

dependencies 
    implementation 'com.google.zxing:core:3.4.0'
    implementation 'com.google.zxing:android-core:3.3.0'

valoraciones y comentarios

Te invitamos a ayudar nuestra faena ejecutando un comentario y dejando una puntuación te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *