Estoy escribiendo esto en una simple desesperación :) Me han asignado hacer un escáner de código de barras independiente (como prueba de concepto) para un teléfono Android 1.6.
Para esto he descubierto la biblioteca ZXing.
Busqué en Google, leí temas relacionados aquí en StackOverflow, usé un sentido común, etc. Nada parecía haber ayudado, y simplemente no puedo hacer un agujero en este bloqueo mental: /
Sé que es posible, usar la biblioteca y crear su propio escáner de código de barras independiente. He leído que usar el "Escáner de código de barras" proporcionado por la gente de Zxing es, con mucho, la solución más fácil (a través de Intent). Lamentablemente, esta no es una opción, y se desea una aplicación independiente.
Para resumir mi problema:
- ¿Cómo integrar ZXing source lib en mi proyecto de Android Code a través de Eclipse?
- Cuando está integrado ... ¿cómo hacer uso de la lib, para "cargar" la función de escaneo?
- Casi se prefiere una guía paso a paso porque acabo de comenzar a trabajar en Eclipse.
He tratado de hacer que mi proyecto de código dependa de la carpeta de Android desde la carpeta de origen de ZXing. Cuando lo hago, surgen un puñado de errores, principalmente relacionados con 'org.apache' (??)
Simplemente no puedo entenderlo ... así que algunos consejos serían de gran ayuda.
De antemano, gracias :)
fuente
Respuestas:
¡ACTUALIZAR! - GUÍA RESUELTA +
Me las he arreglado para resolverlo :) Y a continuación puedes leer la guía paso a paso para que pueda ayudar a otros con el mismo problema que tuve;)
zxing src
.ant -f core/build.xml
presione enter y deje que Apache funcione, es mágico [ tiene problemas? ]core.jar
... ¡presione enter!Ahora solo tiene que corregir algunos errores en las traducciones y el archivo AndroidManifest.xml :) Ahora puede compilar felizmente, y ahora tendrá una aplicación de escáner de código de barras independiente, basada en la fuente ZXing;)
Felices codificadores, espero que pueda ayudar a otros :)
fuente
AndroidManifest.xml
archivo? No veo ningún error en ese archivo después del examen. ¡Gracias!Aquí hay una guía paso a paso sobre cómo generar y mostrar el código QR usando la biblioteca ZXing sin tener que instalar la aplicación de terceros. Nota: no tiene que compilar ZXing con ANT ni ninguna otra herramienta de compilación. El archivo
core.jar
está disponible en el archivo zip publicado (lea a continuación).ZXing-*.zip
)core.jar
en elcore/
directorio.core.jar
en ellibs
directorio de su proyecto de Android. Cuando se le solicite, seleccione Copiar .Contents.java
&QRCodeEncoder.java
) en el paquete principal de su proyecto de Android.ImageView
elemento en su Actividad para mostrar el código QR generado si aún no tiene uno. A continuación se da un ejemplo:ImageView
.Aquí hay un
ImageView
elemento para agregar a su archivo XML de diseño de actividad:Fragmento de código:
Aquí está
Contents.java
Y
QRCodeEncoder.java
fuente
los
desafortunadamente no funcionó para mí.
Esto es lo que funcionó para mí:
Encuentre el enlace aquí: https://github.com/journeyapps/zxing-android-embedded
fuente
¿Tienes problemas para construir con ANT? Sigue leyendo
Si
ant -f core/build.xml
dice algo como:luego configure su
JAVA_HOME
variable de entorno en la carpeta java adecuada. Encontré tools.jar en mi (para Windows):así que configuré mi
JAVA_HOME
para:La razón de la sintaxis más corta que encontré en algún sitio que dice:
Luego relancé cmd (importante porque el shell de DOS solo lee las variables de entorno al iniciarse, por lo que cambiar una variable de entorno requerirá que utilice un nuevo shell para obtener el valor actualizado)
y finalmente lo
ant -f core/build.xml
trabajado.fuente
Como algunas de las respuestas están desactualizadas, me gustaría proporcionar las mías propias.
Para integrar la biblioteca ZXing en su aplicación de Android como sugiere su Wiki , debe agregar 2 archivos Java a su proyecto:
Luego, en Android Studio, agregue la siguiente línea al archivo build.gradle :
O si todavía usa Eclipse con el complemento ADT, agregue el archivo core.jar al subdirectorio libs de su proyecto (aquí Windows con pantalla completa y Mac con pantalla completa ):
Finalmente agregue este código a su MainActivity.java :
La aplicación resultante le pedirá que instale e inicie la aplicación Barcode Scanner mediante ZXing (que volverá a su aplicación automáticamente después del escaneo):
Además, si desea crear y ejecutar la aplicación ZXing Test como inspiración para su propia aplicación:
Entonces necesitas 4 archivos Java de GitHub :
Y 3 archivos Jar del repositorio de Maven :
(Puede crear los archivos Jar usted mismo
mvn package
, si echa un vistazo a ZXing desde GitHub e instala ant y maven herramientas en su computadora).Nota: si su proyecto no reconoce los archivos Jar, es posible que necesite actualizar la versión de Java en las Propiedades del proyecto:
fuente
Poner
en tus dependencias de Gradle. Tan fácil como eso. Antes de usar Android Studio y el sistema de compilación Gradle.
fuente
¿Has visto las páginas wiki en el sitio web de zxing? Parece que puede ser útil GettingStarted , DeveloperNotes y ScanningViaIntent .
fuente
Si solo necesita el core.jar de zxing, puede omitir ese proceso y obtener los JAR preconstruidos de la página wiki GettingStarted
El último ZXing (2.2) no tiene core.jar en la carpeta principal, pero puede obtener el core.jar desde el repositorio de zxing Maven aquí
fuente
Paso a paso para configurar zxing 3.2.1 en eclipse
fuente
Intenté todas las formas posibles para lograr esto y luego descubrí la versión Minified de xZing de JourneyApps. Lo porté para eclipse y lo compartí en GitHub.
Si está utilizando eclipse, use este proyecto: -
https://github.com/hiteshsahu/XZing-Barcode-Scanner-Minified-Eclipse
Si está utilizando Studio, use este proyecto: -
https://github.com/journeyapps/zxing-android-embedded
Ventajas
El escáner de código de barras incorporado en su aplicación no requiere la instalación de aplicaciones de terceros mediante la tienda de juegos.
No necesita confundirse entre los tarros Core, cliente de Android, etc. simplemente deje caer estos paquetes y los diseños relevantes en su proyecto y estará listo. Solo se requiere Jar es com.google.zxing: core: 3.2.0 que puede descargar desde
http://mvnrepository.com/artifact/com.google.zxing/core/3.2.0
No es necesario agregar toneladas de paquetes. Vea las imágenes a continuación para comparar
Antes de :-
Después :-
La parte más importante es que son altamente personalizables, es decir. puede agregar luz de flash, usarla en fragmentos y apoyar el cambio de orientación.
Puede utilizar esta actividad de captura en la aplicación Cordova para escanear códigos de barras.
su actividad de captura en el manifiesto de la aplicación se vería así
y el complemento se verá así
Feliz integración !!
fuente
Los chicos de zxing han hecho que sea más fácil crear un proyecto de Android con 1.7. No es tan doloroso como solía ser. Este es un blog rápido para cualquier persona que desee crear un proyecto zxing para Android rápidamente.
Un proyecto de Android para zxing 1.7 (pago del 20 de junio).
http://www.4shared.com/file/bFx8Y5Ys/zXingJune2010.html( NO DISPONIBLE MÁS )fuente
¿Por qué usar una biblioteca externa cuando los servicios de Google Play (desde la versión 7.8.0 ) incluyen un decodificador de código de barras?
fuente
Acabo de escribir un método, que decodifica los códigos de barras generados,
Bitmap
paraString
.Hace exactamente lo que se solicita, solo sin el
CaptureActivity
...Por lo tanto, se puede omitir la
android-integration
biblioteca enbuild.gradle
:El método es el siguiente (que en realidad descodifica los códigos de barras generados, dentro de una prueba jUnit):
fuente
Esta biblioteca funciona de maravilla, fácil de integrar y usar. https://github.com/dm77/barcodescanner
fuente
Recientemente he usado Google Mobile Vision tanto en iOS como en Android. Recomiendo utilizar Google Barcode Scan. Es bastante sensible con cualquier orientación y el tiempo de procesamiento es bastante rápido. Se llama Google Mobile Vision.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0
fuente
Enfoque mucho más fácil.
Solo incluya la dependencia en el archivo gradle de su nivel de aplicación
Defina un botón en su archivo xml y escriba el código siguiente en el archivo Java en OnCreate () y dentro del botón de escucha OnClick
Y escriba el siguiente código después de OnCreate () del archivo Java
fuente
st_scanned_result
no se define aquíACTUALIZACIÓN 2020: simplemente agregue esto a su archivo Gradle. Funciona perfectamente!
fuente