Domanda

Voglio creare un'applicazione per Android che sia in grado di scansionare i codici a barre, ottenere le informazioni contenute nel codice a barre e quindi essere in grado di utilizzare tali informazioni in qualche modo.

Non ho idea di come creare uno scanner di codici a barre, quindi sono andato su Google e sembra che Zxing sia il modo più comunemente usato per implementare uno scanner di codici a barre in un'app.

Alcuni link:


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

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

Utilizzo di ZXing per creare un'app per la scansione di codici a barre Android


Tuttavia, gli esempi che ho trovato su zxing prevedevano la necessità di chiedere all'utente di recarsi al mercato e installare lo scanner di codici a barre zxing in modo che la mia app possa quindi chiamare lo scanner di codici a barre quando necessario e lo scanner di codici a barre restituirà quindi le informazioni alla mia app.

Anche se questo sarebbe un buon punto di partenza per me, mi chiedevo: esistono altre opzioni che mi consentirebbero di avere uno scanner di codici a barre incorporato nella mia applicazione senza dover chiedere all'utente di scaricare un'applicazione secondaria?

È stato utile?

Soluzione

Developer qui. Penso che si sta andando a voler integrare solo tramite intenti alla fine. È possibile ottenere i miglioramenti, correzioni di bug e soluzioni platform-specifici per libero. E 'molto meno codice troppo. Ma capisco che stai chiedendo un'alternativa.

Probabilmente si vuole spogliarsi Barcode Scanner (la cui sorgente è in / Android nel progetto) e la striscia fuori tutto ciò che non è necessario. Ciò significa che lasciano solo sui pacchetti com.google.zxing.client.android e com.google.zxing.client.android.camera. La decodifica nucleo è in DecodeThread, ma l'altro codice di questi pacchetti implementa la piccola danza callback che fa la scansione continua e ottiene la solita scansione UI.

Se si incorpora il codice è necessario seguire i termini del licenza Apache .

Altri suggerimenti

Scarica ed estendere l'applicazione ZXing "Barcode Scanner" aggiungendo il proprio codice. E 'sotto una licenza Apache 2.0.

Scopri i nuovi servizi di Google Play 7.8 API che include il monitoraggio di codici a barre: https: // sviluppatori. google.com/vision/barcodes-overview

Io suggerirei di usare ZXing attraverso gli intenti e reindirizzamento alla pagina di Android Market ("market://details?id=com.google.zxing.client.android") se non è lì (ActivityNotFoundException cattura). Intenti sono grandi per le comunicazioni inter-app come questo.

Lo faccio funzionare con questo:

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'

Consiglio di utilizzare IntentIntegrator

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

Il requestCode ritorna con

IntentIntegrator.REQUEST_CODE

Non è necessario installare uno scanner separato

vi consiglio di scansione del codice a barre uso google. E 'abbastanza reattivo. Si chiama Google Mobile Vision.

  

L'API Barcode Scanner rileva i codici a barre in tempo reale in qualsiasi   orientamento. È inoltre possibile rilevare e analizzare diversi codici a barre in   diversi formati allo stesso tempo.

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

https://codelabs.developers.google.com/codelabs/ codici a barre / # 0

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top