Estou escrevendo isso por mero desespero :) Fui designado para fazer um scanner de código de barras independente (como prova de conceito) para um telefone Android 1.6.
Por isso, descobri a biblioteca ZXing.
Eu pesquisei no Google, li tópicos relacionados aqui no StackOverflow usando o senso comum e assim por diante. Nada parecia ter ajudado, e eu simplesmente não consigo fazer um buraco nesse bloqueio mental: /
Sei que é possível usar a lib e criar seu próprio scanner de código de barras independente. Eu li que usar o "Barcode Scanner" fornecido pelo pessoal do Zxing é de longe a solução mais fácil (via Intent). Infelizmente, isso não é uma opção, e um aplicativo independente é desejado.
Então, para resumir meu problema:
- Como integrar a biblioteca de código-fonte do ZXing ao meu projeto de código do Android por meio do Eclipse?
- Quando integrado ... como fazer uso da lib, para "carregar" a função de verificação?
- Um guia passo a passo é quase preferido, porque eu comecei a trabalhar no Eclipse.
Tentei tornar meu projeto de código dependente da pasta Android da pasta de origem ZXing. Quando faço isso, surgem alguns erros, principalmente sobre 'org.apache' (??)
Eu simplesmente não consigo entender ... então algumas dicas seriam muito úteis.
De antemão, obrigado :)
fonte
Respostas:
ATUALIZAR! - RESOLVIDO + GUIA
Eu consegui descobrir isso :) E abaixo, você pode ler o guia passo a passo para que, com sorte, possa ajudar outras pessoas com o mesmo problema que eu;)
zxing src
.ant -f core/build.xml
pressione enter e deixe o Apache funcionar é mágico [está com problemas? ]core.jar
... pressione enter!Agora você só precisa corrigir alguns erros nas traduções e no arquivo AndroidManifest.xml :) Agora você pode compilar com alegria e agora terá um aplicativo de scanner de código de barras independente, baseado na fonte ZXing;)
Feliz pessoal de codificação - espero que possa ajudar os outros :)
fonte
AndroidManifest.xml
arquivo? Não vejo nenhum erro nesse arquivo no exame. Obrigado!Aqui está um guia passo a passo sobre como gerar e exibir código QR usando a biblioteca ZXing sem precisar instalar o aplicativo de terceiros. Nota: você não precisa criar o ZXing com o ANT ou qualquer outra ferramenta de criação. O arquivo
core.jar
está disponível no arquivo zip lançado (leia abaixo).ZXing-*.zip
)core.jar
nocore/
diretóriocore.jar
nolibs
diretório do seu projeto Android. Quando solicitado, selecione Copiar .Contents.java
&QRCodeEncoder.java
) para o pacote principal do seu projeto Android.ImageView
item em sua Atividade para exibir o código QR gerado, se você ainda não tiver um. Um exemplo é dado abaixo:ImageView
.Aqui está um
ImageView
elemento para adicionar ao seu arquivo XML de layout de atividade:Fragmento de código:
Aqui está
Contents.java
E
QRCodeEncoder.java
fonte
o
infelizmente não funcionou para mim.
Isto é o que funcionou para mim:
Por favor, encontre o link aqui: https://github.com/journeyapps/zxing-android-embedded
fonte
Tendo problemas para criar com a ANT? Continue lendo
Se
ant -f core/build.xml
diz algo como:em seguida, defina sua
JAVA_HOME
variável de ambiente para a pasta java apropriada. Encontrei tools.jar no meu (para Windows):então eu configurei o meu
JAVA_HOME
para:o motivo da sintaxe mais curta que encontrei em algum site que diz:
Em seguida, relancei o cmd (importante porque o shell do DOS só lê env vars após o lançamento, portanto, alterar um env var exigirá o uso de um novo shell para obter o valor atualizado)
e finalmente o
ant -f core/build.xml
funcionou.fonte
Como algumas das respostas estão desatualizadas, eu gostaria de fornecer as minhas -
Para integrar a biblioteca ZXing ao seu aplicativo Android, conforme sugerido pelo Wiki , você precisa adicionar 2 arquivos Java ao seu projeto:
Em seguida, no Android Studio, adicione a seguinte linha ao arquivo build.gradle :
Ou, se ainda estiver usando o Eclipse com o plug-in ADT, adicione o arquivo core.jar ao subdiretório libs do seu projeto (aqui Windows em tela cheia e Mac em tela cheia ):
Por fim, adicione este código ao seu MainActivity.java :
O aplicativo resultante solicitará a instalação e o início do aplicativo Barcode Scanner pelo ZXing (que retornará ao seu aplicativo automaticamente após a digitalização):
Além disso, se você deseja criar e executar o aplicativo ZXing Test como inspiração para seu próprio aplicativo:
Então você precisa de 4 arquivos Java do GitHub :
E 3 arquivos Jar do repositório Maven :
(Você pode criar os arquivos Jar
mvn package
- se você verificar o ZXing no GitHub e instalar as ferramentas ant e maven no seu computador).Nota: se o seu projeto não reconhecer os arquivos Jar, talvez seja necessário atualizar a versão Java nas Propriedades do projeto:
fonte
Colocar
em suas dependências Gradle. Tão fácil quanto isso. Antes de usar o sistema de compilação Android Studio e Gradle.
fonte
Você já viu as páginas wiki no site zxing? Parece que você pode achar GettingStarted , DeveloperNotes e ScanningViaIntent úteis.
fonte
Se você apenas precisar do core.jar do zxing, poderá pular esse processo e obter os JARs pré-criados na página da wiki GettingStarted
O ZXing mais recente (2.2) não possui core.jar na pasta core, mas você pode obter o core.jar no repositório zxing Maven aqui
fonte
Passo a passo para configurar o zxing 3.2.1 no eclipse
fonte
Tentei de todas as maneiras possíveis para conseguir isso e descobri a versão Minified do xZing da JourneyApps. Eu tenho portado isso para eclipse e compartilhado no GitHub.
Se você estiver usando o eclipse, use este projeto: -
https://github.com/hiteshsahu/XZing-Barcode-Scanner-Minified-Eclipse
Se você estiver usando o Studio, use este projeto: -
https://github.com/journeyapps/zxing-android-embedded
Vantagens
O scanner de código de barras embutido no seu aplicativo não é necessário para instalar aplicativos de terceiros usando o playstore.
Você não precisa se confundir entre os frascos do cliente Core, Android, etc. Somente o Jar necessário é com.google.zxing: core: 3.2.0, do qual você pode baixar
http://mvnrepository.com/artifact/com.google.zxing/core/3.2.0
Não há necessidade de adicionar toneladas de pacotes, veja as imagens abaixo para comparação
Antes :-
Depois de :-
A parte mais importante é que eles são altamente personalizáveis, isto é. você pode adicionar a luz do flash, usá-la em fragmentos e apoiar a alteração da orientação.
Você pode usar esta atividade de captura no Cordova App para digitalizar códigos de barras.
sua atividade de captura no manifesto do aplicativo ficaria assim
e plugin será parecido com este
Integração feliz !!
fonte
O pessoal do zxing facilitou a criação de um projeto Android com 1.7. Não é tão doloroso como costumava ser. Este é um blog rápido para quem deseja criar rapidamente um projeto zxing para android.
Um projeto android para zxing 1.7 (checkout em 20 de junho).
http://www.4shared.com/file/bFx8Y5Ys/zXingJune2010.html( NÃO DISPONÍVEL MAIS )fonte
Por que usar uma lib externa, quando o google play services (desde a versão 7.8.0 ) inclui um decodificador de código de barras.
fonte
Acabei de escrever um método, que decodifica códigos de barras gerados,
Bitmap
paraString
.Faz exatamente o que está sendo solicitado, apenas sem o
CaptureActivity
...Portanto, pode-se pular a
android-integration
biblioteca nobuild.gradle
:O método a seguir (que realmente decodifica códigos de barras gerados, dentro de um teste jUnit):
fonte
Esta biblioteca funciona como um encanto, fácil de integrar e usar. https://github.com/dm77/barcodescanner
fonte
Recentemente, usei a visão móvel do Google no iOS e no Android. Eu recomendo usar o Google Barcode Scan. É bastante responsivo com qualquer orientação e o tempo de processamento é bastante rápido. É chamado Google Mobile Vision.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0
fonte
Abordagem muito mais fácil.
Basta incluir dependência no arquivo gradle no nível do aplicativo
Defina um botão no seu arquivo xml e escreva o código abaixo no arquivo Java no OnCreate () e dentro do botão de escuta do OnClick
E escreva o código abaixo após OnCreate () do arquivo Java
fonte
st_scanned_result
não está definido aquiATUALIZAÇÃO 2020: Adicione isso ao seu arquivo Gradle. Funciona perfeitamente!
fonte