QR kód beolvasás Zebra Android eszközökkel

A beépített QR kód olvasó használatának előnyei
LogiNet Mobile Dev Team

LogiNet Mobile Dev Team

Natív iOS, Android és cross-platform mobil szakértők

Nyomon követés céljából a kinyomtatott címkékre QR kód is gyakran rákerül, és ennek beolvasására android eszközök esetén két módszert is lehet alkalmazni. Az egyikhez szinte bármilyen androidos eszköz megfelel, a másikhoz viszont speciális hardverre van szükség, amely beépített lézeres QR kód olvasóval rendelkezik. Hogyan gyorsítja meg a beépített QR kód leolvasó a folyamatot, és hogyan zajlik az integrációja? Cikkünkben erről lesz szó


Hogyan támogatja a munkádat a beépített QR kód olvasó?

Ahogy arra cikksorozatunk első részében is rámutattunk, nyomon követés céljából a kinyomtatott címkékre QR kód is gyakran rákerül. A legelterjedtebb módszer QR kód vagy vonalkód olvasására az eszköz kamerájának a használata. Nagyon sok könnyen integrálható és jól használható megoldás létezik, amelyet függőségként hozzá tudunk adni a kód bázishoz és pár sor kód árán, máris tudunk QR kódot olvasni az eszköz kamerájával. Talán a legelterjedtebb ilyen library a journeyapp által fejlesztett zxing névre hallgat. Ha nem szeretnénk egy újabb függőséget behúzni, akkor saját magunk is megírhatjuk, attól függően, hogy mennyire vagyunk otthon a témában, és az adott projekt keretei megengedik-e. Az esetek nagy részében érdemes dependenciaként behúzni.

Vannak viszont olyan android eszközök, amelyek rendelkeznek beépített lézeres QR kód leolvasóval. A legtöbb Zebra eszköz ilyen. Ennek nagy előnye, hogy nem kell az eszköz kamerájára támaszkodni, ami számottevően gyorsíthatja a beolvasás sebességét. Gondoljunk csak arra, a kamera használatához a megfelelő engedélyeket is el kell kérni a felhasználótól - igaz, csak első használat esetén. Tehát ha az eszközbe épített QR kód olvasót egy fizikai gombbal aktiváljuk, akár pár másodperc alatt megkapjuk a beolvasott kódot, mivel maga a beolvasás is lényegesebben gyorsabb a pont erre a célra kifejlesztett olvasóval. Egy beépített olvasó 1-2 másodperc alatt elvégzi azt a feladatot, ami egy kamerával történő beolvasás esetén 5-10 másodpercet venne igénybe. Ez pedig napi 1000 QR kód beolvasása esetén már komoly időmegtakarítást jelenthet.


A QR kód olvasás folyamata

Ha megnyomjuk az eszközön a fizikai gombot, amely aktiválja a QR kód leolvasót, akkor a lézert csak a QR kódra kell irányítani, és meg is történik a beolvasás. A kérdés csak az, hogyan kapjuk meg a beolvasott QR kódot? Erre a legegyszerűbb megoldás a Zebra eszközökre jellemzően előre telepített (a Google Play-ből amúgy bármikor letölthető) DataWedge alkalmazás használata.

Miután összekötöttünk a DataWedge appot a saját appunkkal, a helyes konfigurációk megadása után egy Intent elkapása árán már ki is tudjuk bányászni a beolvasott QR kódot az intent-ben lévő Bundle-ből. Az integráció folyamata a következők szerint zajlik.

DataWedge konfigurálás

Az alkalmazás megnyitása után ez a kép fogad minket.

Beépített Zebra QR kód olvasó - DataWedge konfigurálás

Itt különböző profilok láthatóak. Nekünk is egy ilyen profilra lesz szükségünk. Tehetjük azt, hogy lemásoljuk az egyik meglévőt, vagy teljesen újat hozunk létre.

Ebben a példában egy újat fogunk létrehozni.

Beépített Zebra QR kód olvasó - Új DataWedge profil létrehozása

Miután létrehoztuk az új profilt, nyissuk meg.

Beépített Zebra QR kód olvasó - DataWedge profil megnyitása

Itt az első dolgunk, hogy összekössük azt a saját appunkkal. Nyissuk meg az “Associated apps” menüt. Majd a “New app/activity” option kiválasztása után a megnyíló listából keressük ki azt az Activity-t, amelyben szeretnénk elkapni a beolvasott QR kódot.

Beépített Zebra QR kód olvasó - DataWedge fiók összekötése saját fiókunkkal

Beépített Zebra QR kód olvasó - DataWedge fiók megnyíló lista

Miután ezt megtettük, navigáljunk vissza, és görgessünk le az “Intent output” szekcióig. Itt a következő beállításokat adjuk meg.

Beépített Zebra QR kód olvasó - “Intent output” szekció

Mindenekelőtt engedélyezzük az “Enabled” flaget. Majd adjuk meg az intent action-t, ami a jelen példában: com.demo.app.myActionName.ACTION. Ezt fogjuk majd hozzáadni az activity-hez a manifest fájlban intent filterként. 

Ha több activity-t is össze akarunk kötni a DataWedge-el, akkor mindegyikhez új profilt és intent action-t kell felvennünk. Ha több fragment architektúrára épül az alkalmazásunk - ami manapság igen gyakori -, akkor ilyenre nem lesz szükségünk.

Érdemes tudni, hogy lehetőség van Broadcast intent küldésére is.

Miután a fenti dolgokkal megvagyunk, nézzük meg a saját kódbázisunkat.

Módosítások a kódbázisban

Első dolgunk a manifest-ben, hogy az intent filter-t hozzáadjuk az activity-hez.

Beépített Zebra QR kód olvasó - Módosítások a kódbázisunkban

Ügyeljünk rá, hogy az action-t ne írjuk el, továbbá a DataWedge ben is megadott activity-re rakjuk rá az intent filtert.

Ezután nincs már más hátra, mint elkapni az intent-et.

Beépített Zebra QR kód olvasó - intent elkapása

Beépített Zebra QR kód olvasó - onNewIntent() metódus hozzáadása

Ahogy a fenti kódrészletből is látszik, az onNewIntent() metódus hozzáadása szükséges ahhoz, hogy a kapott intent-ből kiszedjük a string extra-ban lévő QR kódot.

A DataWedgeHelper-ben látható többi string a QR kód olvasás intent-el történő elindításához és leállításához használható a következő módon.

Beépített Zebra QR kód olvasó - DataWedgeHelper

Ahogy látható, az integráció során olyan sok kódot nem kellett írnunk, inkább arra kell figyelni, hogy pontosan adjuk meg a profil konfigurációját a DataWedge-ben. 


Ismerd meg hogyan támogatta a Zebra ökoszisztéma az app fejlesztéseinket cimkenyomtatás, Kiosk mód, offline működés, illetve PDF generálás esetén!

A LogiNetnél natív és cross-platform mobil applikációk fejlesztésében is a segítségedre vagyunk. Professzionális szakembereink számos technológiát ismernek: natív iOS és Android applikációk készítése Kotlin, Swift technológiával, cross-platform megoldás Flutter technológiával. Mobil fejlesztői csapatunk erőforrás kiszervezési projektekben is részt vesz. Vedd fel kollégáinkkal a kapcsolatot!
LogiNet Mobile Dev Team

LogiNet Mobile Dev Team LogiNet Mobile Dev Team LinkedIn profilja

Natív iOS, Android és cross-platform mobil szakértők
Mobil app fejlesztői csapatunk tagjai komoly tapasztalattal rendelkeznek új, egyedi mobil applikáció készítésében, a meglévő mobil app továbbfejlesztésében, refaktorálásban. Naprakészek a legújabb technológiák terén. Céljuk, hogy a legmodernebb megoldásokat az elsők között építsék be a fejlesztett alkalmazásokba.