tesinaTutorial lettore codici a barre (444081 byte)
Transcript
tesinaTutorial lettore codici a barre (444081 byte)
TUTORIAL LETTURA CODICI A BARRE I codici a barre sono un insieme di elementi grafici a contrasto elevato disposti in modo da poter essere letti da un sensore a scansione e decodificati per restituire l'informazione contenuta, nel caso illustrato di seguito verranno letti dalla fotocamera dello smartphone. Esistono due tipologie di codici a barre: -Unidimensionali, comunemente utilizzati per identificare i prodotti venduti nei negozi. Sono economicamente convenienti dato il basso costo di stampa di un’etichetta o addirittura direttamente stampabili sulla confezione. I lettori di questi codici utilizzano uno o più raggi laser per la lettura. -Bidimensionali, utilizzati per storicizzare molte più informazioni rispetto ai precedenti, ma leggibili solo da fotocamere. E’ possibile quindi utilizzare uno smartphone android per effettuare la scansione di un codice a barre, ed è presente al seguente indirizzo il codice di una libreria open source https://github.com/zxing/zxing. Vedremo di seguito come creare un’app per l’acquisizione di codici a barre: Gradle Utilizzando come ambiente di programmazione Android Studio è possibile aggiungere il codice della libreria ZXing utilizzando Gradle, aggiungere al file build.gradle il seguente codice: Manifest -Aggiungiamo il seguente codice al file AndroidManifest.xml, necessario per ottenere i permessi di utilizzo della fotocamera e per avviare l'activity che effettua la scansione in portrait: CaptureActivity -Creiamo una classe che estende l'activity di scansione dei codici a barre, in modo da personalizzare l’orientamento della scansione tramite la modifica effettuata precedentemente nel manifest: Layout -Nell' activity_main.xml aggiungiamo un bottone che utilizzeremo per avviare la scansione, e una textview per visualizzare il codice a barre scansionato: Intent -Implementiamo nella nostra app il seguente codice che crea un intent che ha come parametro l'activity che scansiona il codice a barre (CaptureActivityAnyOrientation), inoltre viene passato come messaggio all'activity la stringa “PRODUCT_MODE”, la quale limita la scansione ai soli codici a barre unidimensionali: OnActivityResult -Ora implementiamo il seguente codice, che assegna alla variabile contents il valore restituito da CaptureActivityAnyOrientation, ovvero il numero del codice a barre scansionato. Assegnamo alla textview il valore della contenuto nella variabile contents: OnCreate Nel metodo onCreate creiamo un bottone e lo associamo al bottone presente nel layout, in seguito creiamo un ClickListener che esegue la funzione Scan() quando viene premuto il bottone: Applicazione in esecuzione: