2012-01-03 28 views
14

Soy nuevo en Zxing. Estoy haciendo la conversión de código de barras usando zxing en mi aplicación de Android. ¿Alguien puede guiarme sobre cómo incluir zxing en un dispositivo Android?Cómo usar Zxing en Android

Respuesta

38

Si el escáner de código de barras ZXing está instalada en el móvil, que es muy fácil:

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE" 
     intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history 
     startActivityForResult(intent, 0); 

y en OnActivityResult:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 
        String contents = data.getStringExtra("SCAN_RESULT"); //this is the result 
      } else 
      if (resultCode == RESULT_CANCELED) { 
       // Handle cancel 
      } 
     } 
    } 

Si no es instalado: u puede poner este código en prueba- atrapar bloque y atrapar la excepción, puede hacer esto:

Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); 
Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri); 
startActivity(marketIntent); 

Así redirige la aplicación t o android market y su aplicación continúa ejecutándose una vez si está instalado el barcode scanner.

Si no desea utilizar la otra aplicación en su aplicación, U tiene que descargar la biblioteca zxing e intentar usar las clases desde el archivo core.jar (se crea utilizando apache ant). Siga este tutorial para hacer eso: https://github.com/zxing/zxing/wiki/Getting-Started-Developing

Todas las opciones de Intención se puede encontrar aquí:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

+0

Gracias, esto es más informativo. descargué el código de google y cada vez que compilo el script creado, recibo un error. ¿Podemos descargar el core.jar de la red? o tienes un archivo core.jar – RAAAAM

+0

El archivo core.jar debe generarse por su cuenta. –

+0

porque no es portable –

6

Debe descargar el archivo .Jar de Zing & agregar en la carpeta de la aplicación. Entonces puede llamar a las clases & métodos de la misma.

+2

¿Cuál es el motivo del voto negativo? – Android

+0

La integración de Zxing no funciona de esa manera. – Siddharth

+2

@ Siddharth - sí, lo hace. Es de código abierto y esta es una opción de implementación común. –

2

Paso a paso para configurar ZXing 3.2.1 en Eclipse

  1. Descargar ZXing -master.zip from "https://github.com/zxing/zxing"
  2. Descomprimir zxing-master.zip, usar eclipse para importar el proyecto "android" en zxi ng-master
  3. Descargar núcleo-3.2.1.jar de "http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/"
  4. crear "bibliotecas" en la carpeta del proyecto "androide" y pegar cor-3.2.1.jar en las librerías carpeta
  5. Haga clic en proyecto : elija "propiedades" -> "Compilador de Java" para cambiar el nivel a 1.7. A continuación, haga clic en "Android" cambie "Objetivo de compilación del proyecto" a Android 4.4.2+, porque el uso de 1.7 requiere compilar con Android 4.4
  6. Si "CameraConfigurationUtils.java" no existe en "zxing-master/android/app/src/main/java/com/google/zxing/client/android/camera/". Puede copiarlo de "zxing-master/android-core/src/main/java/com/google/zxing/client/android/camera /" y pegarlo en su proyecto.
  7. Limpiar y construir proyecto. Si su proyecto muestra un error sobre "switch - case", debe cambiarlo a "if - else".
  8. Completado. Limpie y construya el proyecto
Cuestiones relacionadas