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

7 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
    Respuestas
    1. Muchas gracias a ti! Espero contar con tu +1 :D

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

    ResponderEliminar
  5. sos grande y fuerte !!

    ResponderEliminar