2011-08-11 13 views
5

Esto es lo que quiero hacer.Zxing en Android: Eclipse

Me gustaría crear un nuevo lector de códigos QR, usando Zxing.

Lo que descargué.

Eclipse SDK Versión clásica: 3.7.0; SDK de Android (con herramientas SDK rev12, y todas las plataformas SDK, API, y las muestras; ADT Plugin de Eclipse (puedo ver todos los objetivos de la API en una lista:. 01.05 a 03.02 & Google API); ZXing 1,7

Usando

. Windows 7 de 32 bits.

¿Cuáles son mis variables de entorno.

ANT_HOME, at (...)\apache-ant-1.8.2 
JAVA_HOME, at (...)\jdk1.7.0 
PATH, at (...)\jdk1.7.0\bin 

lo que hice.

extraídos Zxing 1.7 en una carpeta zxing, construyó core.jar con éxito usando cmd (escribiendo "ant -f core/build.xml" en (...) \ zxing; Creé dos máquinas virtuales de Android usando SDK Manager (Android 1.5 & Android 2.1); Configure la ubicación del SDK en las propiedades de Eclipse (C: \ PROGRA ~ 1 \ Android \ android-sdk). (Disculpa si me pierdo algo) Creé un nuevo proyecto de Android, seleccionado "Crear proyecto desde una fuente existente", usando la carpeta (...) \ zxing \ android. Y la versión seleccionada de Android 2.1-update1.

En esta propiedades del proyecto, he añadido a "Java Build Path" -> "Bibliotecas" -.> Añadir JAR externos" del archivo core.jar, al (...) \ ZXing \ núcleo

en última instancia, tengo el siguiente src:

`com.google.zxing.client.android 
com.google.zxing.client.android.book 
com.google.zxing.client.android.camera 
com.google.zxing.client.android.encode 
com.google.zxing.client.android.history 
com.google.zxing.client.android.result 
com.google.zxing.client.android.result.supplement 
com.google.zxing.client.android.share 
com.google.zxing.client.android.wifi` 

Sólo * .android.camera parece estar en pleno funcionamiento;

el AndroidManifest.xml tiene algunos errores sin embargo: en

`<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.google.zxing.client.android" 
     android:versionName="3.61 beta 1" 
     android:versionCode="71" 
     android:installLocation="auto">` 

no identificador de recursos encontrado para el atributo 'installLocation' en el paquete 'androide'

y en

`<supports-screens android:xlargeScreens="true" 
       android:largeScreens="true" 
       android:normalScreens="true" 
       android:smallScreens="true" 
       android:anyDensity="true"/>` 

no identificador de recursos encontró para el atributo 'xlargeScreen' en el paquete 'androide'

Por lo tanto No puedo construir el proyecto. ¿Que puedo hacer? Parece que he instalado incorrectamente algunos de los componentes (posiblemente Android SDK). ¿Algún consejo?

Necesito ayuda con respecto a otras cosas.

Ummm, si logro compilar el proyecto, ¿cómo puedo llamar al escáner?

`Bitmap bMap = BitmapFactory.decodeStream(new FileInputStream(file)); 
LuminanceSource source = new RGBLuminanceSource(bMap); 
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
          source)); 
Reader reader = new MultiFormatReader(); 

Result result = reader.decode(bitmap);` 

¿Y cómo puedo sacar los archivos? Por ejemplo, me gustaría procesar la información contenida en el código QR. ¿Cuáles son los otros tipos de archivos que puedo generar el código?

¿Cómo puedo convertir this en una biblioteca?

¿Cómo puedo importar clases? ¿Tengo que incluirlos en AndroidManifest.xml?

no entendía esto:

En ruta Eclipse construcción de su aplicación Agregar referencia del proyecto ZXing núcleos de modo que no es compilada por la JVM.

He encontrado otro método para generar archivos a través de Intent. Pero no pude hacer que funcionara porque necesitaba descargar e instalar algunos archivos. ¿Qué son?

+0

Consulte mi respuesta detallada sobre [cómo usar ZXing en la aplicación de Android] (http://stackoverflow.com/a/30572168/165071) –

Respuesta

2

Android 2.1 no admite el atributo xLargeScreens (creo que es 2.2+). Ver pregunta this para más información.

Para el installLocation atributo que también debe estar por encima de 2,2 y ... ver this enlace:

A partir de la API de nivel 8 (2.2), puede permitir que su aplicación sea instalado en el almacenamiento externo (por ejemplo, la tarjeta SD del dispositivo). Esta es una función opcional que puede declarar para su aplicación con el atributo de manifiesto android: installLocation. Si no declara este atributo, su aplicación se instalará únicamente en el almacenamiento interno y no se podrá mover al almacenamiento externo.

Además ... por favor divida sus preguntas en diferentes publicaciones. Primero necesita ejecutar su proyecto antes de poder preguntar:

"¿cómo puedo llamar al escáner?"
"¿Y cómo puedo generar los archivos?"
"¿Cuáles son los otros tipos de archivos que puedo generar el código?"
"¿Cómo puedo convertir esto en una biblioteca?"
"¿Cómo puedo importar clases?"
"He encontrado otro método para generar archivos a través de Intent. Pero no pude hacerlo funcionar porque necesitaba descargar e instalar algunos archivos. ¿Qué son?"

Google es tu amigo, mi amigo. De todas las clases de la universidad que he tomado, creo que Google me ha enseñado más :).

Cuestiones relacionadas