Aplicación para leer códigos QR utilizando la librería Zxing para dispositivos Android

Objetivo

Generar la aplicación BarcodeScanner para dispositivos Android y probarlo con el emulador y la cámara web. 
Esta aplicación se crea a partir del código abierto ZXing.
Con esta aplicación se puede procesar la información que proviene de las imágenes 1D/2D para la lectura de código barra. En este caso particular se hará la prueba con un código de barra bidimensional conocido como "Código QR"



0. Pre-requisitos

1. Crear un proyecto


1.1 Elegir un nombre para el proyecto, por ejemplo MyBarcodeScanner



1.2 Mínimo SDK requerido, en este caso usaremos el API 17 (versión 4.2 Jelly Bean).



1.3 Agregamos una Actividad vacía (solo lo usaremos como referencia, ya que posteriormente será eliminada).



1.4 Agregamos nombre para la actividad, por ejemplo MyActivity.



1.5 Finalizamos y esperamos.



1.6 Se mostrará el siguiente mensaje si es que la construcción del proyecto no tuvo errores.




2. Descargar código fuente Zxing desde github


2.1 Link del código fuente ZXing.
https://github.com/zxing/zxing

2.2 Una vez descargado el archivo ZIP, descomprimir




3. Copiar contenido desde el directorio zxing-master/android

3.1 Ingresamos al directorio zxing-master/android.



3.2 Copiar el directorio zxing-master/android/src/com.



y pegarlo dentro del directorio “java” del Proyecto (clic derecho en directorio “java” y Pegar)




Aceptamos el siguiente aviso



Se creará el siguiente árbol dentro del directorio “java”


3.3 Lo mismo hacemos para directorio zxing-master/android/res



y lo pegamos dentro del directorio “main” del Proyecto



Aceptamos el siguiente mensaje




Sobrescribimos todo y esperamos.


Tendremos el nuevo árbol dentro del directorio “res” del Proyecto.


3.4 Hacemos lo mismo para el directorio zxing-master/android/asset


El cual pegamos dentro del directorio “main” del Proyecto


Aceptamos el siguiente mensaje


Tendremos el nuevo árbol dentro del directorio “main” del Proyecto.


3.5 Copiamos el archivo zxing-master/android/AndroidManifest.xml


y lo reemplazamos por el archivo AndroidManifest.xml del proyecto.


Aceptamos el siguiente mensaje


Sobrescribimos el anterior


3. Copiar contenido desde el directorio zxing-master/core.

3.1 Copiamos el directorio zxing-master/core/src/main/java/com


Y lo pegamos dentro del directorio “java” del Proyecto


4. Copiar contenido desde el directorio zxing-master/android-core

4.1 Copiamos el directorio zxing-master/android-core/src/main/java/com



y lo pegamos dentro del directorio “java” del Proyecto

5. Eliminar archivos

5.1 Eliminamos el archivo activity_my.xml que fue creado automáticamente en el Proyecto


Utilizamos Eliminación segura


5.2 Lo mismo hacemos para MyActivity


Utilizando Eliminación segura


5.3 Lo mismo hacemos para my.xml


Utilizando Eliminación segura


6. Modificar opciones de compilación


6.1 Editar el archivo build.gradle que se encuentra dentro del directorio “app


Agregar lo siguiente


Sincronizar y aceptar



7. Crear un emulador AVD


7.1 En este caso se creará un emulador con las siguientes características. No olvidar asignar la cámara web de tu laptop u ordenador en la opción Front Camera (importante para capturar la imagen del código QR)

8. Ejecutar la aplicación.

8.1 Ejecutar la aplicación con Shift+F10 o haciendo click en el icono
8.2 Seleccionar el emulador creado previamente.



9. Probar la aplicación

9.1 Acercar la imagen de algún código QR hacia la cámara web

9.2 La aplicación se encargará de escanear el código utilizando la cámara web. Una vez la detecte, mostrará su contenido.


9.3 El ícono de la aplicación es el siguiente:



10. Personalizar el Proyecto.

Con el código fuente de Zxing y la aplicación funcionando, ya es posible hacer las modificaciones para personalizar el proyecto según nuestras necesidades.


Hasta el próximo tutorial.
Mostrito





If it compiles, it is good, if it boots up it is perfect
- Linus Torvalds

Comentarios

Entradas más populares de este blog

Consulta Validez de CP - SUNAT

Mi Interfaz Contable