Pergunta

Quero criar um aplicativo para o Android que possa digitalizar códigos de barras, obter as informações contidas no código de barras e, em seguida, usar essas informações de alguma forma.

Não tenho idéia de como criar um scanner de código de barras, por isso fui pesquisar no Google e parece que o ZXing é a maneira mais usada para implementar um scanner de código de barras em um aplicativo.

Alguns links:


http://code.google.com/p/zxing/

http://awalkingcity.com/blog/2008/08/25/qr-codes-ad-easy-in-android/

Usando o Zxing para criar um aplicativo de digitalização de código de barras Android


No entanto, as amostras que encontrei no ZXing envolveram a necessidade de levar o usuário a ir ao mercado e instalar o scanner de código de barras Zxing para que meu aplicativo possa ligar para o scanner de código de barras quando necessário e o scanner de código de barras retornará as informações ao meu aplicativo.

Embora esse seja um bom ponto de partida para mim, eu queria saber que há outras opções que me permitiriam ter um scanner de código de barras incorporado em meu próprio aplicativo sem precisar levar o usuário a baixar um aplicativo secundário?

Foi útil?

Solução

Desenvolvedor aqui. Eu acho que você vai querer se integrar via intenção no final. Você obtém as melhorias, correções de bugs e soluções alternativas específicas da plataforma gratuitamente. É muito menos código também. Mas eu entendo que você está pedindo uma alternativa.

Você provavelmente deseja retirar o scanner de código de barras (cuja fonte está no Android/ no projeto) e retirar tudo o que você não precisa. Isso significa deixar apenas sobre o com.google.zxing.client.android e com.google.zxing.client.android.camera pacotes. A decodificação do núcleo está em DecodeThread, mas o outro código nesses pacotes implementa a pequena dança de retorno de chamada que faz a digitalização contínua e recebe a interface do usuário usual.

Se você incorporar o código, precisará seguir os termos do Licença Apache.

Outras dicas

Faça o download e estenda o aplicativo Zxing "Barcode Scanner", adicionando seu próprio código. Está sob uma licença Apache 2.0.

Confira a nova API do Google Play Services 7.8 que inclui rastreamento de código de barras: https://developers.google.com/vision/barcodes-overview

Eu sugiro que você use o Zxing através das intenções e redirecione para a página do mercado do Android ("market://details?id=com.google.zxing.client.android") se não estiver lá (pegando ActivityNotFoundException). As intenções são ótimas para comunicações entre aplicativos como essa.

Eu tenho isso trabalhando com isso:

repositories { mavenCentral()
    maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" }
}

compile 'com.google.zxing:core:3.2.1'
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'

Eu recomendo usar o intentintegrator

IntentIntegrator integrator = new IntentIntegrator(getActivity()); 
integrator.forSupportFragment(this).initiateScan();

O requestcode volta com

IntentIntegrator.REQUEST_CODE

Não há necessidade de instalar um scanner separado

Eu recomendo usar o Google Barcode Scan. É bastante receptivo. É chamado de visão móvel do Google.

A API do scanner de código de barras detecta códigos de barras em tempo real em qualquer orientação. Você também pode detectar e analisar vários códigos de barras em diferentes formatos ao mesmo tempo.

https://developers.google.com/vision/

https://codelabs.developers.google.com/codelabs/bar-codes/#0

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top