Recunoașterea codurilor de bare Android. Evaluarea celor mai bune aplicații pentru scanarea codurilor de bare pe iOS și Android
În acest tutorial vom învăța cum să creăm o aplicație pentru citirea codurilor de bare și codurilor QR utilizând biblioteca standard Mobile Vision API.
Odată cu lansarea serviciilor Google Play versiunea 7.8, dezvoltatorii au adăugat interfețe Mobile Vision care oferă un API pentru detectarea codurilor de bare. Ei citesc și decodifică multe tipuri diferite de coduri de bare, rapid, ușor și local.
Clasele pentru detectarea și analiza codurilor de bare sunt disponibile în spațiul de nume com.google.android.gms.vision.barcode. Calul de lucru principal este clasa BarcodeDetector. Se ocupă de obiecte Frame și returnează un SparseArray de coduri de bare
Tipul de cod de bare reprezintă un singur cod de bare recunoscut universal și semnificația acestuia. În cazul codurilor de bare 1D, cum ar fi codurile UPC, acesta va fi pur și simplu un număr care este codificat în codul de bare. Valoarea acestuia este disponibilă în câmpul rawValue, în timp ce tipul codului de bare (adică codificarea acestuia) poate fi găsit în câmpul format.
Pentru codurile de bare 2D care conțin date structurate, cum ar fi codurile QR, câmpul valueFormat este setat la un anumit tip de valoare corespunzător câmpului de date. Deci, de exemplu, dacă este detectat tipul URL, atunci câmpul valueFormat va returna constanta URL, iar obiectul Barcode.UrlBookmark va conține valoarea URL-ului. Pe lângă adrese URL, există multe tipuri diferite de date pe care un cod QR le poate stoca. De exemplu, adresa poștală, data și ora evenimentului din calendar, evenimentul din calendar, informațiile de contact, numărul de telefon, locația pe hartă și alte date, a căror listă completă este furnizată în documentație. Link-uri către documentație.
Utilizarea API-ului Mobile Vision în aplicație vă permite să citiți coduri de bare în orice poziție.
Este important să rețineți că toată analiza codurilor de bare se face local, așa că nu trebuie să utilizați o conexiune la server pentru a citi datele din cod. De exemplu, când citiți un cod de bare liniar PDF-417, care poate conține până la 1 KB de text, puteți obține imediat toate informațiile codificate în el.
Deci, pentru a dezvolta aplicația vom avea nevoie de:
- Mediul de dezvoltare Android Studio
- Smartphone care rulează Android 4.2.2 sau o versiune ulterioară
- Cea mai recentă versiune a SDK-ului Android, inclusiv componenta instrumente SDK. Îl puteți obține folosind Android SDK Manager în Android Studio.
- SDK pentru servicii Google Play. De asemenea, îl puteți obține din Android SDK Manager din Android Studio.
Creați un nou proiect în Android Studio. Când creați, selectați șablonul Activitate gol.
Următorul pas este să vă asigurați că aplicația dvs. poate folosi Serviciile Google Play, care include API-ul Mobile Vision. Pentru a face acest lucru, trebuie să actualizați fișierul build.gradle al proiectului.
Ar trebui să existe linii ca aceasta în secțiunea dependențe. Actualizați Gradle dacă este necesar.
Compilați „com.android.support:appcompat-v7:25.0.0” compilați „com.google.android.gms:play-services:9.8.0”
Serviciile Google Play sunt actualizate frecvent și, pentru a obține cea mai recentă versiune, în Android Studio, accesați Instrumente > Android > Manager SDK.
Apoi găsiți linia pentru serviciile Google Play și asigurați-vă că aveți instalată versiunea 26 sau o versiune ulterioară. Dacă nu, instalați componenta.
Acum să creăm interfața cu utilizatorul.
În Android Studio, selectați folderul „res” și deschideți subdosarul „aspect”. Aici veți vedea „activity_main.xml”. Deschideți-l în editorul de aspect.
Puteți vedea că aspectul dvs. conține un câmp de text
Făcând clic pe butonul, imaginea codului de bare va fi încărcată și procesată, care va fi afișată în ImageView. Odată ce codul de bare este procesat, informațiile citite din acesta vor fi afișate în TextView.
De obicei, aplicațiile de citire a codurilor de bare primesc o imagine de la camera dispozitivului sau procesează o previzualizare a camerei. Implementarea acestui lucru va necesita destul de mult cod, iar la sfârșitul lecției voi arăta un exemplu de implementare a unei astfel de aplicații. Pentru a simplifica acest exemplu, vom procesa o imagine de cod QR gata făcută care este deja prezentă în aplicația dvs.
Iată un exemplu de imagine de cod QR pe care o puteți descărca de aici.
Numiți-l qr.png și adăugați-l în dosarul proiectului res/drawable Android Studio va face fișierul disponibil ca resursă cu ID-ul: R.drawable.qr
Acum să trecem la scrierea codului aplicației.
În fișierul MainActivity.java, în metoda onCreate, adăugați următorul cod.
Buton button = (Button) findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() ( @Override public void onClick(View v) ( ) ));
Aceasta setează un handler de evenimente (onClick) care se declanșează atunci când utilizatorul face clic pe buton. Vom scrie restul codului în metoda onClick.
Să începem prin a încărca o imagine cu cod de bare. În primul rând, găsim ImageView după ID. BitMapFactory este apoi folosit pentru a decoda resursa R.drawable.qr într-un bitmap. Trecem imaginea raster rezultată către ImageView.
ImageView myimageView = (ImageView)findViewById(R.id.imgview);
Bitmap myBitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.qr);
myimageView.setImageBitmap(myBitmap);
BarcodeDetector barcodeDetector = nou BarcodeDetector.Builder(getApplicationContext()) .setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE) .build();
Este posibil ca prima dată când detectorul nostru de coduri de bare va funcționa să fie atunci când serviciul Google Play nu este încă pregătit să proceseze coduri de bare. Prin urmare, trebuie să verificăm dacă detectorul nostru funcționează înainte de a-l folosi. Dacă nu, va trebui să așteptăm să se termine descărcarea sau să le spunem utilizatorilor să găsească o conexiune la internet sau să elibereze spațiu pe dispozitiv. Înainte de a accesa câmpul text, trebuie să-l declarăm și să-l găsim mai sus în metoda onCreate.
TextView txtView = (TextView) findViewById(R.id.txtContent);
Acum să adăugăm o metodă de afișare a unui mesaj.
Dacă (!barcodeDetector.isOperational()) ( txtView.setText("Nu s-a putut configura detectorul!"); )
Frame frame = nou Frame.Builder().setBitmap(myBitmap).build();
coduri de bare = barcodeDetector.detect(frame);
Vă rugăm să rețineți că API-ul Mobile Vision este capabil să detecteze mai multe coduri de bare într-un singur cadru. În acest caz, SparseArray
va fi completat cu mai multe intrări.
Este mai bine să rulați pe un dispozitiv real. Nu va funcționa pe un emulator, deoarece emulatorii nu au serviciul Google Play în mod implicit.
Acum aplicația s-a lansat pe dispozitiv, apăsați butonul. Dacă utilizați o imagine cu cod de bare qr.png, veți vedea datele codificate în codul QR în câmpul de text - aceasta este adresa site-ului nostru web.
Acesta a fost un exemplu de aplicație simplu care demonstrează cum funcționează API-ul Mobile Vision. Dar un scaner complet de coduri de bare trebuie să primească o imagine de la camera dispozitivului sau să proceseze o previzualizare a camerei.
Dezvoltatorii au pregătit un exemplu de astfel de aplicație pe Github, puteți descărca codul acesteia de pe link.
Clonați sau descărcați proiectul și deschideți modulul cititor de coduri de bare în Android Studio.
Când rulăm aplicația din acest proiect putem vedea cum funcționează. Inițial, se deschide ecranul de pornire, unde puteți activa focalizarea automată sau blițul. Butonul cititorului de coduri de bare lansează camera. Aplicația monitorizează aspectul codurilor de bare în previzualizare și desenează cadre pe codurile de bare detectate. Când faceți clic pe zona de cod de bare detectat, previzualizarea se închide, transferând datele codului de bare detectat în câmpul de text de pe ecranul de pornire. Vedeți mai multe detalii în.
Această aplicație folosește și API-ul Mobile Vision. Dar când examinați proiectul în Android Studio, puteți vedea că există mai mult cod aici decât în exemplul nostru simplu.
Aplicația constă din opt clase. Trei dintre ei sunt responsabili pentru interfața și funcționarea camerei.
- Clasa CameraSource oferă controlul camerei pentru obținerea unei previzualizări.
- Clasa CameraSourcePreview este responsabilă pentru afișarea previzualizării pe ecran.
- Clasa GraphicOverlay afișează obiecte grafice deasupra previzualizării camerei asociate.
- Clasa MainActivity afișează o fereastră de pornire cu setări și un buton pentru a începe scanarea și primește date coduri de bare pentru a le plasa într-un TextView.
- Clasa BarcodeTrackerFactory implementează modelul Factory și este folosită pentru a crea instrumente de urmărire a codurilor de bare - câte unul pentru fiecare cod de bare.
- Clasa BarcodeGraphicTracker este un instrument de urmărire care este utilizat pentru a detecta codurile de bare pe ecran și pentru a le urmări pentru a suprapune grafice, precum și pentru a elimina elementele grafice atunci când codul de bare părăsește vizualizarea.
- Clasa BarcodeGraphic este folosită pentru a reda o instanță a unei imagini suprapuse cu cod de bare pe baza poziției, dimensiunii și ID-ului acesteia.
- Clasa BarcodeCaptureActivity este o activitate care este lansată atunci când se face clic pe butonul de captare a codului de bare în fereastra de pornire a aplicației. Această activitate afișează o previzualizare a camerei și detectează coduri de bare pe ea, le citește și aplică cadre grafice fiecărui cod de bare folosind clasele de mai sus.
Nu voi aprofunda într-o explicație mai detaliată a codului de la dezvoltatori în această lecție, dar vă voi lăsa asta ca temă pentru acasă. Mai mult, codul este bine documentat, fiecare clasă și metodă conține comentarii în limba engleză. Citirea și înțelegerea unui astfel de cod este foarte utilă, mai ales pentru un dezvoltator începător.
Pentru a obține informații despre produsele de interes de pe rafturile magazinelor, nu este necesar să întrebați vânzătorul despre acestea. La urma urmei, de exemplu, există mii de produse în super- și hipermarketuri - cum poate o persoană să țină totul în cap? Propriul smartphone vă va ajuta să vă dați seama ce anume v-a atras atenția. Trebuie doar să instalați în prealabil un program de scanare a codurilor de bare și să îndreptați camera către etichetă. Pe ecran vor fi afișate toate informațiile necesare: ce fel de produs (nume exact), cine l-a produs, cât cântărește, cât costă, dacă a expirat, dacă este vândut cu reducere etc.
Au fost lansate o mulțime de aplicații pentru citirea și analiza codurilor de bare. Cele mai populare sunt suportate de mai multe sisteme de operare, multe dispozitive și sunt simple și ușor de utilizat. Să ne uităm la unele dintre ele.
Unul dintre cele mai cunoscute scanere și generatoare de coduri de bare. Capabil să recunoască cu precizie diverse formate de date - QR-Code, Quick Code, EAN 8/13, Data Matrix, Code 128, Code 39, precum și o listă completă de coduri de bare 1D. Poate deveni asistent și consilier atunci când faceți achiziții. În plus, vă va ajuta să găsiți informații despre un obiect scanat pe Internet, să vă permiteți accesul la adresele web specificate în cod, să apelați numere de telefon, să trimiteți scrisori, să trimiteți SMS-uri, să căutați locuri specificate pe hartă, să salvați datele primite într-un fișier text și, de asemenea, puteți crea propriile coduri 2D, pe care le puteți utiliza ulterior oriunde doriți.
Programul este disponibil în versiuni standard și extinse. Licența standard oferă dreptul de a utiliza produsul gratuit.
QuickMark poate funcționa ca o aplicație autonomă sau ca o extensie a browserului Google Chrome. Suportat pe următoarele platforme:
- Apple iOS;
- Android;
- Windows Phone;
- Symbian S60.
Funcționează pe diferite modele de smartphone-uri și tablete, fără a solicita resurse hardware.
O aplicație simplă, rapidă și convenabilă, care poate recunoaște o mare varietate de coduri de bare, inclusiv cele greu de citit, fără instrumente suplimentare: QR-Code, Data Matrix, Code 128, Code 39, EAN 8, UPC A, EAN 13. Acceptă schimbul de date text în rețea.
Datorită avantajelor sale, ixMAT și-a găsit aplicație în sfera profesională - cu el lucrează comerț, logistică, companii industriale, agenții guvernamentale, precum și organizații comerciale și non-profit de diferite tipuri. Aplicația este plătită. Înainte de a cumpăra, vă sugerăm să descărcați o versiune de probă pentru testare.
Versiunile ixMAT sunt dezvoltate pentru următoarele platforme:
NeoReader
Un scaner unic de coduri de bare care folosește propria tehnologie patentată ultra-Gavitec și NeoMedia, datorită căreia citește și recunoaște aproape toate formatele de coduri de bare existente: Aztec, Data Matrix, QR, EAN, UPC, Code128, Code39 etc.
Programul poate fi utilizat pe diferite dispozitive și sisteme de operare:
- Android,
- Apple iOS;
- Mur;
- Windows Mobile.
Funcționează stabil pe telefoanele Nokia, Apple, Blackberry, Samsung, Motorola, Sony Ericsson.
Kaywa Reader
La fel ca analogii menționați mai sus, Scannerul de coduri de bare citește o mare varietate de tipuri de coduri de bare folosind o cameră a telefonului mobil. Vă permite să primiți rapid toate informațiile codificate și să le salvați în memoria dispozitivului. Codul scanat sau datele din acesta pot fi trimise prin SMS, e-mail sau transmise prin rețelele sociale.
Suportat de smartphone-uri bazate pe Android și Apple iOS. Producătorul garantează funcționarea stabilă a Kaywa Reader pe multe modele Sony Ericsson, Samsung și Motorola.
Oricare dintre aplicațiile enumerate aici poate fi folosită în comerț - împreună cu scanere profesionale de coduri de bare http://www.crystals.ru/skaner-shtrih-koda și devin un plus convenabil pentru acestea.
Descriere:
Folosind aplicația puteți decoda coduri de bare. Acest software este complet gratuit. La scanare, dacă codul QR conține adresa site-ului, veți fi dus automat la acesta. Aplicația numără atât codurile QR, cât și Data Matrix.
Caracteristicile programului:
- capacitatea de a scana coduri de bare prin camera dispozitivului;
- capacitatea de a vizualiza o listă a istoricului tuturor scanărilor anterioare;
- posibilitatea de a crea propriile coduri QR;
- partajați coduri QR prin comunicare electronică.
Să trecem la setări. Setările aplicației sunt destul de flexibile. Când scanați coduri de bare, puteți dezactiva recunoașterea codurilor de bare liniare, Data Matrix și codurile QR. Aplicația vă permite să activați/dezactivați alarmele de sunet și vibrații. De asemenea, este posibilă activarea automată a lanternei, aceasta este activată atunci când în cameră nu există suficientă iluminare. Programul vă va ajuta să găsiți informații despre produsul scanat pe Internet, să comparați prețurile etc.
Concluzie:
Programul are o interfață destul de simplă, non-trivială, pe care chiar și o gospodină o poate înțelege. Aș dori să remarc că programul conține o cantitate destul de mare de publicitate. Nu uitați că accesul la Internet este necesar pentru utilizare. Vă mulțumim pentru atenție.
Mulți dintre clienții noștri, atunci când decid să automatizeze activitățile întreprinderilor lor, își încep munca căutând pe internet un scaner de coduri de bare. Unii cred că scanerul vine deja cu un program de evidență.
Acest lucru nu este surprinzător, deoarece toată lumea vede coduri de bare imprimate pe produse și consideră că un scanner care poate recunoaște un cod de bare este baza tuturor automatizărilor.
De fapt, scaner de coduri de bare- acest dispozitiv poate recunoaște pur și simplu benzile de coduri de bare, în care sunt codificate numerele care se află sub bare, și le poate transfera pe computerul unei case de marcat sau al unui alt dispozitiv specializat.
Pentru a menține evidența operațională, aveți nevoie de software specializat: așa-numitul programe de tranzacționare.
- Cele mai simple programe care vă permit să păstrați înregistrări sunt foile de calcul: Programul Microsoft Excel(Excel) de la Microsoft Office sau pachete de birou gratuite Libre Office, OpenOffice.org etc. Pentru a lucra cu un astfel de program, aveți nevoie de un scaner de coduri de bare cu interfață USB, deoarece după scanare va introduce automat codul de bare în locul în care se află cursorul. Puteți citi mai multe despre tipurile de interfețe de scanare de coduri de bare în articolul nostru„Tipuri de interfețe de scanare de coduri de bare”.
Desigur, păstrarea înregistrărilor în acest fel este foarte incomod, cu toate acestea, opțiunea merită atenție, deoarece este complet potrivită pentru sarcini simple de contabilitate.
- Mulți clienți știu despre programul 1C. O caracteristică specială a 1C este că producătorul oferă diverse configurații de program concepute special pentru fiecare domeniu de activitate. De exemplu, există următoarele configurații: „Magazin de piese auto”, „Magazin de electrocasnice și comunicații”, „Magazin de îmbrăcăminte și încălțăminte”, „Librărie”.
Puteți citi despre avantajele și dezavantajele programelor 1C în articolul nostru "Avantajele și dezavantajele programelor companiei 1C ".
Pentru lucrul convenabil cu produsele 1C, scanerele cu orice interfață sunt potrivite, deși mulți programatori 1C comandăscaner de coduri de bare cu port COM și driver pentru scanerul de coduri de bare pentru 1C.
- Pe piață există și programe specializate de tranzacționare. Sunt mai ieftine, mai ușor de întreținut și nu necesită setări suplimentare și complexe. Vă invităm să vă familiarizați cu unul dintre aceste programe de la.
- un sistem profesional de gestionare a facilitatilor depozitului. Acest program este conceput pentru a funcționa în timp real cu directoare mari de produse. Are conectivitate încorporată cu case de marcat și cititoare de coduri de bare.
Sistemul de parole și niveluri de acces garantează o protecție fiabilă a bazei de date, fără a limita funcționalitatea. Instalare rapida si usoara, compatibila cu toate tipurile de imprimante. Modulul specializat „Ecran tactil” și „Facilitate comercială” îndeplinește toate cerințele necesare pentru sistemele din această clasă.
Cu noi poți. Puteți cumpăra un program pentru un minimarket, puteți descărca un program pentru o piață, puteți cumpăra echipamente comerciale pentru un magazin alimentar, puteți comanda servicii de automatizare a pieței în Kievcontactând Unipro Company LLC .
De asemenea, vă recomandăm să vizitați secțiunea site-ului nostru: „Proiectele noastre „ pentru a face cunoștință cu obiectele care folosesc cu succes programul UniproRetail pentru contabilitate.
Salutare tuturor, dragi cititori și fericiți utilizatori și proprietari ai unui gadget mobil bazat pe sistemul de operare Android. Astăzi, așa cum se întâmplă de obicei, am făcut o selecție de programe, de data aceasta programe pentru Android care vă permit să scanați coduri de bare și să obțineți toate informațiile despre un produs folosind aceste coduri.
Un program foarte bun pentru scanarea codurilor de bare, care iti permite, complet gratuit, sa scanezi orice cod de bare pentru a afla informatii complete despre produsele scanate. Dintre toate funcțiile utile, aș dori să notez următoarele:
- Pe lângă scanarea codurilor de bare obișnuite, această aplicație poate scana coduri QR;
- Aplicația este complet gratuită pentru descărcare și utilizare. Acest punct, mi se pare, este foarte important și decisiv în alegerea unei aplicații pentru un număr mare de utilizatori.
Un alt scaner bun de coduri de bare și coduri QR. Dintre toate avantajele incontestabile ale acestui program de scanare a codurilor de bare, voi nota următoarele:
- Pe lângă scanarea și recunoașterea codurilor de bare și codurilor QR, vă puteți crea propriile coduri;
- Posibilitatea de a partaja coduri de bare cu prietenii și abonații tăi pe cele mai populare rețele sociale;
- Aplicația (scanerul) poate salva istoricul tuturor codurilor de bare recunoscute. Datorită acestui lucru, puteți vizualiza toate codurile în orice moment.
Aplicație pentru scanarea codurilor de bare și codurilor QR în limba engleză. Deoarece Această aplicație este în limba engleză, nu este potrivită pentru majoritatea publicului vorbitor de limbă rusă, dar dacă vorbiți engleză, atunci vă va plăcea aplicația. Aș dori să subliniez următoarele posibilități:
- Aplicația vă permite să găsiți cele mai ieftine prețuri pentru produsele care vă interesează. Uneori este foarte util;
- Căutați produse după cuvinte cheie.
Și închiderea selecției noastre astăzi este o altă aplicație pentru scanarea codurilor de bare numită „Scaner de coduri QR”. Dintre toate posibilitățile, voi nota următoarele:
- Capacitatea de a scana coduri de bare atât de la o cameră externă, cât și de la o imagine salvată pe un gadget mobil;
- Trimiterea codurilor de bare către cele mai populare rețele sociale prin SMS.