wizarPOS -LOGO

wizarPOS 2D Smart POS wizarPOS -2D Smart- POS-FIG 1

Zavedení

Účel

Tento dokument popisuje instrukce k používání WizarPOS Scan Service, včetně popisu rozhraní, popisu parametrů a metod volání služeb.
Uživatel
Čtenářem tohoto dokumentu je vývojář, který používá službu WizarPOS Scan Service.

Pozadí projektu

Nadview
Inteligentní POS WizarPOS v současné době používá jako OS vylepšený a přizpůsobený systém Android, a pokud jde o funkci skenování, systém Android nepřichází s funkcí skenování čárových kódů / 2D skenování čárových kódů, ale využívá služby open source, jako je Zxing/Zbar . Mnoho aplikací pro Android, které se používají na chytrých POS zařízeních, již realizovalo funkci velmi rychlého skenování.
Existuje však mnoho dalších aplikací vyvíjených na základě chytrých POS, nikoli hotových komerčních aplikací. A mnoho chytrých vývojářů POS má také zázemí v oboru POS, nikoli profesionální vývojáři pro Android. Když tedy začnou vyvíjet aplikace, chtějí, aby jim WizarPOS poskytl pohodlné rozhraní pro skenování, místo aby se sami učili Zxing/Zbar.
Z hardwarového hlediska view, skenovací části používané na chytrých POS, nemusí být nutně standardní fotoaparát, dojde k určité transformaci. V některých případech bude vyžadováno, aby část skenování byla specializovaným hardwarem. Přímé použití Zxing /Zbar proto není skutečně použitelné pro chytré POS WizarPOS, ale vyžaduje určité úpravy a přizpůsobení.
Z výše uvedených důvodů uvažujeme o vývoji služeb skenování WizarPOS, abychom vývojářům třetích stran usnadnili vývoj aplikací s funkcemi skenování.

Využití služby skenování
Služba skenování je aplikace a spouští se pomocí AIDL. Aplikace třetích stran přizpůsobují své uživatelské rozhraní přenesením některých parametrů.

Rozhraní a popis parametrů

  • Popis rozhraní
     ScanBarcode
    Toto rozhraní je rozhraním synchronního volání.
    Když aplikace zavolá rozhraní, služba skenování otevře kameru definovanou parametrem skenování a spustí skenování. Po skenování se fotoaparát vypne a výsledky se okamžitě vrátí
    ScanResult scanBarcode (parametr ScanParameter);
  • Parametr:
    ScanParameter
  • Návrat:
    ScanResult
  • začíná
    Toto rozhraní je rozhraním asynchronního volání, což znamená, že je spuštěno nepřetržité skenování. Když aplikace zavolá toto rozhraní, služba skenování otevře kameru definovanou parametrem skenování a spustí skenování. Po každém skenování budou výsledky vráceny během zpětného volání. Po každém zpětném volání se spustí další proces skenování. void startScan(parametr ScanParameter, zpětné volání IScanCallBack); Parametr: ScanParameter, IScanCallBack
  • Návrat:
    Nalezený čárový kód v IScanCallBack
    Při volání startScan() musí být implementován parametr IScanCallBack. Volající může získat ScanResult prostřednictvím tohoto rozhraní. Při volání tohoto rozhraní je služba skenování ve stavu pozastavení a po návratu volání bude pokračovat další akce skenování. Službu skenování, která je pozastavena, můžete vypnout pomocí „zastavit skenování“.
    neplatný nalezený čárový kód (výsledek skenování);
  • Parametr:
    ScanResult
  • StopScan
    Zastavte nepřetržité skenování a vypněte uživatelské rozhraní služby skenování. Po zastavení mohou ostatní volající zavolat rozhraní startScan nebo scanBarcode.
  • Návrat: getScanType (index int)
    Získejte typ skeneru.
  • String getScanType(int index); Parametr:
    Int 0 nebo 1;
  • Návrat:
    Řetězec „Skener“ nebo „Fotoaparát“ nebo „Chyba“;
  • Popis parametru
    ScanParameter
    ScanParameter je objekt parametru, který definuje parametry, které potřebuje služba skeneru.

metoda: set (klíč řetězce, hodnota řetězce) (hodnota nerozlišuje malá a velká písmena)

Klíč Hodnota

Typ

Hodnota Popis
okno_top int Výchozí: 0,

Rozsah: >0

Vzdálenost k horní části obrazovky. Efekt v režimu překrytí.

(dp)

okno_vlevo int Výchozí: 0,

Rozsah: >0

Zbývající vzdálenost k obrazovce. Efekt v režimu překrytí.

(dp)

šířka_okna int Výchozí: šířka obrazovky

Rozsah: >0

Režim obrazovky.

(dp)

šířka. Účinek in překrytí
výška_okna int Výchozí: výška obrazovky

Rozsah: >0

Výška obrazovky. Efekt v režimu překrytí.

(dp)

enable_scan_section n booleovský Výchozí: true Rozsah: true/false false: celé okno displeje je oblast pro skener, odstraňte rám skeneru.

true: přizpůsobit oblast skeneru, má rám skeneru, druhá část je poloprůhledná, rám skeneru je uprostřed, lze upravit šířku nebo výšku

rám skeneru.

scan_section_width int Výchozí: 300 dip

Rozsah: >0

Šířka rámu skeneru.
scan_section_heigh

t

int Výchozí: 300 dip

Rozsah: >0

Výška rámu skeneru.
display_scan_line Řetězec Výchozí: pohybující se Rozsah: Ne/pevný/pohyblivý Zobrazte červenou čáru v oblasti skeneru.

NE: Nezobrazuje se Opraveno: Uprostřed

Pohyb: Pohyb nahoru a dolů

enable_flash_icon booleovský W1 上

Výchozí: true

Q1 上

Výchozí: nepravda

Zda se má zobrazit tlačítko pro ovládání blesku.
    Rozsah: true/false  
enable_switch_icon booleovský Výchozí: true

Rozsah: true/false

Zda se má zobrazit kurzor

tlačítko přepínání kamery.

enable_indicator_lig booleovský Výchozí: false Zda zobrazit indikátor
ht   Rozsah: true/false světelné tlačítko, podporováno pouze v Q1.
dekódovací formát Řetězec Výchozí: BARCODE_ALL

Rozsah: Barcode Formát

Rozsah formátů dekódování. Výchozí je BARCODE_ALL, formáty jsou odděleny „,“.
decoder_mode int Výchozí: 2 Rozsah: 0/1/2 Režim dekódování: 0: režim1

1: režim2

2: režim3

enable_return_imag

e

booleovský Výchozí: false

Rozsah: true/false

Zda

obraz.

na návrat a naskenované
index_kamery int Výchozí: 0 Rozsah: 0/1/2 0: hlavní skener (pevná kamera).

1: druhý skener (zomm kamera). 2:zákaznická zobrazovací kamera.

scan_time_out dlouhé (ms) Výchozí: -1

Rozsah: >0

<=0: skenovat navždy

>0: skenování s časovým limitem, při vypršení časového limitu vrátí chybu časového limitu, provede se pouze v synchronizovaném rozhraní.

scan_section_bord

er_color

int Výchozí:

Barva bílá

Barva okraje skenování, použijte

Barva.argb

scan_section_corne r_color int Výchozí: Color.argb(0xFF, 0x21, 0xDB,

0xD5)

Barva rohu skenování
scan_section_line_

barva

int Výchozí:

Barva.ČERVENÁ

Barva skenovací čáry
scan_tip_text Řetězec Výchozí: automatické skenování při uchopení naskenovaného dokumentu

obrázek

Text tipu pod okrajem skenování
scan_tip_textSize int Výchozí: 15 Velikost textu tipu

Jednotka: sp

scan_tip_textColor int Výchozí:

Barva bílá

Barva textu tipu
scan_tip_textMargi n int Výchozí: 30 Vzdálenost mezi textem tipu a spodní částí obrazovky

Jednotka: dp

flash_light_state booleovský Výchozí: false Počáteční stav blesku true: otevřeno

nepravda: uzavřený

indikátor_stav_světla booleovský Výchozí: false Počáteční stav kontrolky true: otevřeno

nepravda: uzavřený

režim skenování Řetězec Výchozí: dialog Režim okna skeneru

dialog: aktivita se zadaným překrytím uživatelského rozhraní:má pouze okno skeneru, bez názvů uživatelského rozhraní, tlačítka uživatelského rozhraní, okno skeneru nad ostatními aktivitami uživatelského rozhraní

scan_camera_expo jistě int Výchozí: 0 Kompenzace expozice fotoaparátu pro fotoaparát se zoomem
scan_time_limit int Výchozí: 50 Maximální doba dekódování
enable_mirror_scan booleovský Výchozí: true Povolit skenování zrcadel

Výchozí hodnota je true, otevřeno

povolit_handsfree booleovský Výchozí: true Povolení handsfree spustí detekci pohybu a osvětlení pohybu. Obecně platí, že při neustálém skenování by to mělo být povoleno.

Pouze pro skener Zebra.

enable_ui_by_zebr a booleovský Výchozí: true true: zobrazení uživatelského rozhraní, false: skrytí uživatelského rozhraní. Pokud skryjete uživatelské rozhraní, rychlost spuštění skeneru se zrychlí.

Pouze pro skener Zebra.

enable_mobile_pho ne_screen_mode booleovský Výchozí: nepravda true: zlepšuje výkon čtení čárových kódů na mobilních telefonech a elektronických displejích, ale může zvýšit dekódování

čas.

Pokud tedy nepotřebujete skenovat kód z telefonu, nastavte jej na hodnotu false.

Pouze pro skener Zebra.

enable_upca_count ry booleovský Výchozí: true true: po dekódování UPC_A zobrazit na prvním místě kód země; false: po dekódování UPC_A skrýt na prvním místě kód země.

Pouze pro skener Zebra.

enable_decoding_ill umination booleovský Výchozí: true Povolení osvětlení obvykle vede k lepším snímkům. Účinnost osvětlení se snižuje

vzdálenost k cíli se zvyšuje. true: Povolte Decoding Illumination, dekodér zapne osvětlení každého zachyceného snímku

pomoc

      dekódování.

false: Deaktivujte dekódovací osvětlení, dekodér nepoužívá dekódovací osvětlení.

Pouze pro skener Zebra.

enable_motion_illu mination booleovský Výchozí: nepravda true: zapíná pohybové osvětlení v režimech hands-free a automatického zaměřování.

false: vypne pohybové osvětlení. Tento parametr platí pouze pro režim handsfree.

Pouze pro skener Zebra.

Režim skeneru
V dialogovém režimu je uživatelské rozhraní skeneru nakresleno službou skeneru fotoaparátu, třetí aplikace nemusí uvažovat o uživatelském rozhraní.
V režimu překrytí poskytuje služba skeneru fotoaparátu pouze okno skeneru, okno se zobrazí v horní části třetího uživatelského rozhraní aplikace. Takže třetí aplikace může kreslit uživatelské rozhraní sama, jako je název, tlačítka. V tomto režimu, pokud aplikace potřebuje přepnout fotoaparát, blesk, kontrolku, musí použít vysílání, jak je uvedeno níže:

Fotoaparát:
Akce vysílání: com.wizarpos.scanner.setcamera
Vysílací klíč: overlay_config
hodnota: 0 Pevná kamera;1 kamera se zoomem; 2 zákaznická zobrazovací kamera

Bleskové světlo:
Akce vysílání: com.wizarpos.scanner.setflashlight
Vysílací klíč: overlay_config
Hodnota: true otevřeno; falešně uzavřeno

Kontrolka:
Akce vysílání: com.wizarpos.scanner.setindicator
Vysílací klíč: overlay_config
Hodnota: true otevřeno; falešně uzavřeno

Sample Kód: // otevření blesku

Záměr záměr=new Záměr();
intent.setAction(ScanParameter.BROADCAST_SET_FLASHLIGHT);
intent.putExtra(ScanParameter.BROADCAST_VALUE, sendBroadcast(intent);

Skener Zebra

Skenování zebry vyžaduje následující podmínky:

  1. Existující Zebra imager.
  2. Nastavte parametr „camera_index“ na 0- main scanner.
  3. Když je obrazovka černá, kamera nefunguje.
  4. Nastavte parametr „enable_ui_by_zebra“ na hodnotu false – skryjte výchozí uživatelské rozhraní před systémem.

ScanResult

Pole Typ Popis
výsledný kód Int >=0: Úspěch

<0: Selhání

Viz také Kód chyby

text Řetězec Textový výsledek, vrátí null, když dojde k chybě, formát textu je UTF-8, v případě potřeby jiný formát, získejte raw buffer

a změnit se sám.

rawBuffer Byte[] Surový buffer
bitmapa Bitmapa Naskenovaný obrázek se vrátí po nastavení parametru enable_return_image je

věrný.

Formát čárového kódu Řetězec Formát čárového kódu, viz

Dodatek

Kód chyby

Hodnota Popis
1 Úspěch
0 Zrušit
2 Plně se zobrazí uživatelské rozhraní skenování
-1 Služba byla obsazena
-2 Fotoaparát nelze otevřít
-3 Časový limit skenování
-4 Neplatný parametr

Používání

Integrace služby skeneru
Služba skeneru používá AIDL, takže aplikace třetích stran musí obsahovat AIDL files( získat z \source\aidl z balíčku SDK čárového kódu), který poskytuje WizarPOS. Dále jsou popsány způsoby integrace v Eclipse a Android Studio.
The files zahrnují:wizarPOS -2D Smart- POS-FIG 2

V Eclipse vložte všechny files do balíčku: com. server clouds.scan. řekl.
V Android Studio nejprve vložte AIDL files v balíčku (com. cloud poz. scan server.aidl) , balíček je ve složce (src—main—aildl), pokud balíček a složky neexistují, nejprve je vytvořte.wizarPOS -2D Smart- POS-FIG 3

A pak vložte balíček (com. cloud pos.scan server.and), dva java files balíček ve složce (src—main-java), pokud balíček a složky neexistují, nejprve je vytvořte. wizarPOS -2D Smart- POS-FIG 4

čistý projekt, pokud je úspěšně kompilován ve složce: build-generated-source-aidl-debug, pak aplikace může úspěšně zavolat službu skeneru.wizarPOS -2D Smart- POS-FIG 5

Závazná služba
Poskytli jsme rozhraní API pro službu vazby. Vložte rozhraní a nástroj do libovolného balíčku. Získejte z \source\aidlControl z balíčku SDK pro čárový kód.wizarPOS -2D Smart- POS-FIG 6

  1. Ke svázání služby použijte následující metodu:
    AidlController.getInstance().startScanService(toto, toto);
  2. Implementujte rozhraní IAIDLListener. Získejte službu skeneru, použijte službu k volání funkcí.

wizarPOS -2D Smart- POS-FIG 7

Tuto funkci použijte k odvázání služby.wizarPOS -2D Smart- POS-FIG 8

Podrobnosti naleznete také v demo projektu.

Dodatek

Formát čárového kódu
Exampten:wizarPOS -2D Smart- POS-FIG 9

Dokumenty / zdroje

wizarPOS 2D Smart POS [pdfPokyny
2D Smart POS, 2D, Smart POS

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *