Desenvolvendo aplicações que leiam código de barras em Android

Publicado: 14/06/2010 em android, exemplos, mobile
Tags:, , , ,

O aplicativo Android Barcode Scanner realiza leitura de código de barras. Abaixo dois exemplos de código de barras que ele consegue realizar a leitura:

Código de Barras QR Code

Barcode ranieripieper

Mas eu consigo utilizar este recurso em minha aplicação android? Preciso fazer tudo do zero?

Não é necessário fazer tudo do zero. Basta que o usuário do celular android tenha o Barcode Scanner instalado. Com isso, iremos utilizar o aplicativo para realizar a leitura do código de barras e retornar para a nossa aplicação o valor.

A idéia é a mesma da utilização da câmera, galeria de fotos e contatos do próprio Android. Iremos enviar a “intenção” de executar certa ação e esperar o retorno desta ação.

Realizando a chamada para a leitura:

Para realizar a leitura, iremos criar uma Intent (“intenção”) para execução do Barcode Scanner e iniciá-la através do método “startActivityForResult” aguardando o seu resultado. O resultado é retornado no método “onActivityResult” da Activity que lançou a Intent.
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, REQUEST_CODE);


Recuperando o resultado:

Para recuperar o resultado, iremos sobreescrever o método “onActivityResult” aguardando que o parâmetro requestCode seja igual ao parâmetro passado no método startActivityForResult acima. E teremos que verificar se o usuário fez a leitura do código de barras ou não. Isso se faz através do resultCode. Se o resultCode for igual a constante Activity.RESULT_OK, a leitura foi realizada com sucesso. Se o resultCode for igual a RESULT_CANCELED, o usuário cancelou a leitura.

Para recuperar as informações lidas no código de barras, teremos que ler os parâmetros passados, que são “SCAN_RESULT” (resultado da leitura) e “SCAN_RESULT_FORMAT” (formato do código de barras). Daí pra frente é só fazer uso da informação contida no código de barras em sua aplicação.
Abaixo segue um exemplo de código:
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Toast.makeText(this, contents + " " + format, Toast.LENGTH_LONG).show();
} else if (resultCode == Activity.RESULT_CANCELED) {
// Usuário não fez a leitura do código de barras
}
}
}

O Encontre Seu Pacote foi implementado desta forma.

Anúncios
comentários
  1. juniorsatanas disse:

    onde ta os fontes para baixar ?

    • ranieripieper disse:

      Não tem o fonte para baixar.
      Mas não tem segredo, o código é o que está no post. Vou ver se disponibilizo o código fonte.

  2. Guilherme disse:

    Valeu, mto útil.

  3. […] Posts & Pages Root Galaxy S com Android 2.3.3 GingerbreadDesenvolvendo aplicações que leiam código de barras em AndroidAndroid: Problema no download/instalação de APPs pelo Android MarketEike Batista: Uma banana para […]

  4. Marcel Sábio disse:

    Me ajudou muito!

    Muito bom parabéns!

  5. Legal, só não esqueça da chamada ao método show() nos Toasts.
    Com certeza ajudará muita gente!

  6. Wellington Gomes disse:

    Cara, show, me salvou.
    Vlw

  7. Luis disse:

    caramba show de bola me sALVOU

  8. Valdeir disse:

    sou novo em programação o que o REQUEST_CODE ?

  9. Jovani disse:

    Alguém sabe como fazer para ler o código deu uma conta de energia ? Não estou conseguindo

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s