java - studio - zxing qr android
Android-Barcode Scanning, Opciones? Zxing? (6)
Desarrollador aquí. Creo que vas a querer integrarte a través de Intent al final. Obtendrá las mejoras, las correcciones de errores y las soluciones específicas de la plataforma de forma gratuita. Es mucho menos código también. Pero entiendo que estás pidiendo una alternativa.
Probablemente desee eliminar el Barcode Scanner (cuya fuente se encuentra en Android / en el proyecto) y eliminar todo lo que no necesita. Eso significa dejar solo los paquetes com.google.zxing.client.android
y com.google.zxing.client.android.camera
. La decodificación del núcleo está en DecodeThread
, pero el otro código de estos paquetes implementa la pequeña danza de devolución de llamada que realiza el escaneo continuo y obtiene la IU de escaneo habitual.
Si inserta el código, debe seguir los términos de la Licencia de Apache .
Quiero crear una aplicación para Android que pueda escanear códigos de barras, obtener la información contenida en el código de barras y luego poder usar esa información de alguna manera.
No tengo ni idea de cómo crear un escáner de código de barras, así que hice Google y parece que Zxing es la forma más comúnmente utilizada para implementar un escáner de código de barras en una aplicación.
Algunos enlaces:
http://code.google.com/p/zxing/
http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/
Usando ZXing para crear una aplicación de escaneo de código de barras de Android
Sin embargo, las muestras que encontré en zxing implicaban tener que pedir al usuario que fuera al mercado e instalar el escáner de código de barras zxing para que mi aplicación pueda llamar al escáner de código de barras cuando sea necesario y el escáner de código de barras devolverá la información a mi aplicación.
Si bien este sería un buen punto de partida para mí, me preguntaba si hay alguna otra opción que me permita tener un escáner de código de barras integrado en mi propia aplicación sin tener que pedirle al usuario que descargue una aplicación secundaria.
Descargue y amplíe la aplicación "Barcode Scanner" de Zxing agregando su propio código. Está bajo una licencia de Apache 2.0.
Echa un vistazo a la nueva API de Google Play Services 7.8 que incluye el seguimiento de códigos de barras: https://developers.google.com/vision/barcodes-overview
Le sugiero que use Zxing a través de intentos y redirija a la página de Android Market ( "market://details?id=com.google.zxing.client.android"
) si no está allí (captura la excepción ActivityNotFoundException
). Los intentos son excelentes para las comunicaciones entre aplicaciones como esta.
Lo tengo trabajando 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 usar el IntentIntegrator
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.forSupportFragment(this).initiateScan();
El requestCode vuelve con
IntentIntegrator.REQUEST_CODE
No es necesario instalar un escáner separado
Recomiendo utilizar el escaneo de códigos de barras de google. Es bastante sensible. Se llama Google Mobile Vision.
La API del escáner de código de barras detecta los códigos de barras en tiempo real en cualquier orientación. También puede detectar y analizar varios códigos de barras en diferentes formatos al mismo tiempo.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0