Estoy de vuelta volviendo a publicar sobre android y en esta ocacion les quiero mostrar como hacer un lector de codigos QR usando la libreria mas famosa para esto Zxing http://code.google.com/p/zxing/
Bueno antes de empezar con el tutorial les quiero comentar que hay de 2 formas de usar Zxing en android
1) via Intent
Se necesita tener instalada el lector de codigos QR de Zxing
https://market.android.com/details?id=com.google.zxing.client.android lo que haria que nuestra app dependiera de esta otra .
sin embargo si quieren hacerlo asi lo que deben hacer es lo siguiente .
// Esto puede ir en el boton Escanear de su app
para obtener el resultado del escaneo debemos sobre escribir el metodo onActivityResult y dejarlo asi
listo podremos escanear codigos desde nuestra app pero como les dije arriba dependeriamos de la aplicacion de Zxing .
2) la otra es hacer uso de del codigo fuente de la libreria dentro de nuestra aplicacion , claro hay que darle el credito a Zxing por publicar sus fuentes con Apache 2.
los primero que debemos hacer es compilar el nucleo (core) de la libreria para lo cual nos basaremos en la guia de @condesa_sama que esta bien explicado ademas explica como leer qrcodes via intent como hice yo en la parte 1.
http://androideity.com/2011/11/23/trabajar-con-codigos-qr-en-tus-aplicaciones-android/
luego de eso lo que tenemos que hacer es modificar el manifiest de nuestra aplicacion agregando lo siguiente
ademas de agregar el permiso de la camara
Bueno antes de empezar con el tutorial les quiero comentar que hay de 2 formas de usar Zxing en android
1) via Intent
Se necesita tener instalada el lector de codigos QR de Zxing
https://market.android.com/details?id=com.google.zxing.client.android lo que haria que nuestra app dependiera de esta otra .
sin embargo si quieren hacerlo asi lo que deben hacer es lo siguiente .
// Esto puede ir en el boton Escanear de su app
Intent intent = new Intent( "com.google.zxing.client.android.SCAN" ); |
2 | intent.putExtra( "SCAN_MODE" , "QR_CODE_MODE" ); |
3 | startActivityForResult(intent, 0 ); |
para obtener el resultado del escaneo debemos sobre escribir el metodo onActivityResult y dejarlo asi
01 | public void onActivityResult( int requestCode, int resultCode, Intent intent) { |
02 | if (requestCode == 0 ) { | | |
03 | if (resultCode == RESULT_OK) { | | |
04 | String contents = intent.getStringExtra( "SCAN_RESULT" ); |
05 | String format = intent.getStringExtra( "SCAN_RESULT_FORMAT" ); |
06 |
|
07 | } else if (resultCode == RESULT_CANCELED) { |
08 | // Handle cancel |
09 | } |
10 | } |
11 | } |
listo podremos escanear codigos desde nuestra app pero como les dije arriba dependeriamos de la aplicacion de Zxing .
2) la otra es hacer uso de del codigo fuente de la libreria dentro de nuestra aplicacion , claro hay que darle el credito a Zxing por publicar sus fuentes con Apache 2.
los primero que debemos hacer es compilar el nucleo (core) de la libreria para lo cual nos basaremos en la guia de @condesa_sama que esta bien explicado ademas explica como leer qrcodes via intent como hice yo en la parte 1.
http://androideity.com/2011/11/23/trabajar-con-codigos-qr-en-tus-aplicaciones-android/
luego de eso lo que tenemos que hacer es modificar el manifiest de nuestra aplicacion agregando lo siguiente
< activity android:name = "com.google.zxing.client.android.CaptureActivity" |
02 | android:screenOrientation = "landscape" |
03 | android:configChanges = "orientation|keyboardHidden" |
04 | android:theme = "@android:style/Theme.NoTitleBar.Fullscreen" |
05 | android:windowSoftInputMode = "stateAlwaysHidden" > |
06 | < intent-filter > |
07 | < action android:name = "android.intent.action.MAIN" /> |
08 | < category android:name = "android.intent.category.DEFAULT" /> |
09 | </ intent-filter > |
10 | < intent-filter > |
11 | < action android:name = "com.google.zxing.client.android.SCAN" /> |
12 | < category android:name = "android.intent.category.DEFAULT" /> |
13 | </ intent-filter > |
14 | </ activity > |
ademas de agregar el permiso de la camara
<
uses-permission
android:name
=
"android.permission.CAMERA">
hola que tal en el codigo del manifest esta en la parte de activity android:name="com.google.zxing.client.android.CaptureActivity" esto hace ke cuando ejecute la aplicacion, la clase de CaptureActiviy de la libreria como la actividad principal, pero mi problema es que como puedo hacer que CaptureActivity sea la clase principal, sea otra clase que este en el manifest y que desde esa clase dirigirme a la de la libreria zxing???
ResponderEliminarasi como esta deberia funcionar , cuantas actividades mas tienes ?
EliminarHola que tal.
ResponderEliminarEstuve siguiendo el tutoria que señalas y modificado el Manifest según lo indicas, pero al ejecutar la aplicación me envia un error que dice: "La actividad no se encuentra", puedes indicarme que esta ocurriendo?, agradezco cualquier ayuda.
Gracias
A mi no me funciona ,he seguido todos los pasos y no me funciona.
ResponderEliminarMe aparece u
"La aplicación se ve forzada a cerrarse inesperadamente"..Esto me sale cuando ejecuto click en el botón escanear con el codigo que he visto en este blog.
ResponderEliminarno sirve
ResponderEliminar