Hoy vamos a ver como hacer un simple decode de qr y código de barras en nuestra aplicación. Se trata de lanzar una clase llamada xzing que nos devolverá a nuestra aplicación lo que haya leído del código para poder utilizarlo a nuestro antojo.
Simplemente se trata de añadir dos class a nuestro proyecto y llamarlos des de nuestro Activity. Vamos al grano y hacerlo de una manera sencilla.
He subido la clase IntentIntegrator y IntentResult para que simplemente los descargeis y los pongáis dentro de vuestro proyecto.
Primero descargamos las dos Class, descargar IntentIntegrator y IntentResult.
Una vez descargados los metemos dentro de la carpeta donde tengamos nuestro activity. Ha continuación pongo el cógigdo de nuestro activity el cual llamara a IntentIntegrator y IntentResult, y nos devolverá el valor del código QR, está totoalmente comentado:
MainActivity.class:
package com.tywors.lectorqr.lectorqr; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MyActivity extends ActionBarActivity { //declaramos nuestro boton private Button bt_scan; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); //Boton en el XML bt_scan=(Button)findViewById(R.id.bt_scan); //Añadimos Listener, al clickar... bt_scan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Lanzamos la activity del escaner IntentIntegrator.initiateScan(MyActivity.this); } }); } //Marcamos lo que queremos que haga una vez haya leido el código protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode) { case IntentIntegrator.REQUEST_CODE: { if (resultCode == RESULT_CANCELED){ } else { //Recogemos los datos que nos envio el código Qr/codigo de barras IntentResult scanResult = IntentIntegrator.parseActivityResult( requestCode, resultCode, data); String UPCScanned = scanResult.getContents(); //cOMO ES SOLO UN EJEMPLO LO SACAREMOS POR PANTALLA. Toast.makeText(getApplicationContext(),UPCScanned,Toast.LENGTH_LONG ).show(); } break; } } } }
Una vez esto tendremos que añadir un botón llamado bt_scan en nuestro .xml y listo!
Proyecto para descargar para android studio!
Espero vuestros comentarios!!!
Muchas gracias!!!
Muchas gracias por el aporte, esta excelente
ResponderEliminargracias. simple y efectivo. sencillamente genial
ResponderEliminarMuchas gracias! realmente sencillo y me salvo en un apuro! sigan adelante :D
ResponderEliminarMuchas gracias a ti! Espero contar con tu +1 :D
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarGracias me funciono de 10 :D
ResponderEliminarsos grande y fuerte !!
ResponderEliminarcoomo podria hacerle para abrir automaticamente un URL que venga en el QR
ResponderEliminarYo necesitaba leer el codigo qr pero en una app de html el tipico formulario.
ResponderEliminarAlguna forma de hacerlo