domingo, 10 de agosto de 2014

Tutorial leer codigo qr con android decode

Buenos dias!
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!!!

9 comentarios:

  1. Muchas gracias por el aporte, esta excelente

    ResponderEliminar
  2. gracias. simple y efectivo. sencillamente genial

    ResponderEliminar
  3. Muchas gracias! realmente sencillo y me salvo en un apuro! sigan adelante :D

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. sos grande y fuerte !!

    ResponderEliminar
  6. coomo podria hacerle para abrir automaticamente un URL que venga en el QR

    ResponderEliminar
  7. Yo necesitaba leer el codigo qr pero en una app de html el tipico formulario.
    Alguna forma de hacerlo

    ResponderEliminar