wizardPOS -LOGO

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

Sarrera

Helburua

Dokumentu honek WizarPOS Scan Service erabiltzeko argibideak deskribatzen ditu, interfazearen deskribapena, parametroen deskribapena eta zerbitzuetara deitzeko metodoak barne.
Erabiltzailea
Dokumentu honen irakurlea WizarPOS Scan Zerbitzua erabiltzen duen garatzailea da.

Proiektuaren aurrekariak

Amaituview
WizarPOS smart POS-ek gaur egun Android sistema hobetu eta pertsonalizatu bat erabiltzen du sistema eragile gisa, eta eskaneatu funtzioari dagokionez, Android sistemak ez du barra-kodeen eskaneatu/2D barra-kodeen eskaneatu funtzioarekin, baina kode irekiko zerbitzuak erabiltzen ditu, hala nola Zxing/Zbar. . POS gailu adimendunetan erabiltzen diren Android aplikazio askok eskaneatzeko funtzio oso azkarra dute dagoeneko.
Hala ere, badira beste aplikazio asko POS adimendunetan oinarrituta garatzen direnak, ez prest egindako aplikazio komertzialak. Eta POS garatzaile adimendun askok POS industriaren atzeko planoa ere badute, ez Android garatzaile profesionalek. Beraz, aplikazioak garatzen hasten direnean, WizarPOS-ek eskaneatzeko API eroso bat eman nahi die, Zxing/Zbar beraiek ikasi beharrean.
Hardware puntutik view, POS adimendunetan erabiltzen diren eskaneatu piezak ez dira zertan kamera estandarrak izan, eraldaketa batzuk egongo dira. Zenbait kasutan, eskaneatzea hardware espezializatua izan beharko da. Hori dela eta, Zxing /Zbar-en erabilera zuzena ez da benetan aplikagarria WizarPOS POS adimendunerako, baina aldaketa eta pertsonalizazio batzuk behar ditu.
Aurreko arrazoiengatik, WizarPOS Scan Services garatzea aztertzen dugu hirugarrenen garatzaileei eskaneatu funtzioak dituzten aplikazioak garatzen errazteko.

Eskaneatu Zerbitzuaren Erabilera
Eskaneatu zerbitzua aplikazio bat da eta AIDL erabiliz hasi da. Hirugarrenen aplikazioek beren interfazea pertsonalizatzen dute parametro batzuk transferituz.

Interfazea eta parametroen deskribapena

  • Interfazearen deskribapena
     EskaneatuBarcode
    Interfaze hau dei-interfaze sinkronoa da.
    Aplikazioak interfazeari deitzen dionean, eskaneatu zerbitzuak kamera irekitzen du eskaneatzeko parametroak zehaztutako moduan eta eskaneatzen hasten da. Eskaneatu ondoren, kamera itzali egiten da eta emaitzak berehala itzultzen dira
    ScanResult scanBarcode(ScanParameter parametroa);
  • Parametroa:
    ScanParameter
  • Itzulera:
    ScanResult
  • hasten da
    Interfaze hau dei-interfaze asinkronoa da, etengabeko eskaneamendua hasi dela adierazten du. Aplikazioak interfaze honi deitzen dionean, eskaneatze-zerbitzuak kamera irekitzen du eskaneatzeko parametroak zehaztutako moduan eta eskaneatzeari ekiten dio. Eskaneatu bakoitzaren ondoren, emaitzak itzuliko dira deia egin bitartean. Deialdi bakoitza egin ondoren, hurrengo eskaneatu prozesua hasiko da. void startScan(ScanParameter parametroa, IScanCallBack callBack); Parametroa: ScanParameter, IScanCallBack
  • Itzulera:
    FoundBarcode IScanCallBack-en
    startScan(i) deitzean, IScanCallBack parametroa ezarri behar da. Deitzaileak ScanResult lor dezake interfaze honen bidez. Interfaze honi deitzen zaionean, eskaneatze-zerbitzua eten-egoeran dago, eta deia itzuli ondoren, hurrengo eskaneatu ekintzarekin jarraituko da. Etenaldian dagoen eskaneatu zerbitzua desaktibatu dezakezu "gelditu eskaneatzea"rekin.
    hutsik aurkitutako barra-kodea (ScanResult emaitza);
  • Parametroa:
    ScanResult
  • StopScan
    Gelditu etengabeko eskaneatzea eta desaktibatu eskaneaketa zerbitzuaren interfazea. Gelditu ondoren, beste deitzaileek startScan edo scanBarcode interfazea dei dezakete.
  • Itzulera: getScanType (int index)
    Lortu eskaner mota.
  • String getScanType(int index); Parametroa:
    Int 0 edo 1;
  • Itzulera:
    Katea "Eskanera" edo "Kamera" edo "Errorea";
  • Parametroaren deskribapena
    ScanParameter
    ScanParameter parametro-objektu bat da, eskaner-zerbitzuak behar dituen parametroak definitzen ditu.

metodoa: ezarri (String gakoa, String balioa) (Balioa Ez da maiuskulak eta minuskulak bereizten)

Gakoa Balioa

Mota

Balioa Deskribapena
leiho_top int Lehenetsia: 0,

Tartea: > 0

Pantailaren goiko distantzia. Gainjartze moduan efektua.

(dp)

leiho_ezkerrera int Lehenetsia: 0,

Tartea: > 0

Pantailaren ezkerreko distantzia. Gainjartze moduan efektua.

(dp)

leiho_zabalera int Lehenetsia: pantailaren zabalera

Tartea: > 0

Pantaila modua.

(dp)

zabalera. Eragina in gainjarri
leiho_altuera int Lehenetsia: pantailaren altuera

Tartea: > 0

Pantailaren altuera. Gainjartze moduan efektua.

(dp)

enable_scan_section n boolearra Lehenetsia: egia Barrutia: egia/gezurra false: bistaratzeko leiho guztia eskanerraren eremua da, kendu eskanerraren markoa.

egia: pertsonalizatu eskanerraren eremua, eskanerraren markoa du, beste zatia erdi gardena da, eskanerraren markoa erdian dago, zabalera edo altuera doi dezake.

eskaner markoa.

eskaneatu_atala_zabalera int Lehenetsia: 300 dip

Tartea: > 0

Eskanerraren markoaren zabalera.
eskaneatu_atala_altuera

t

int Lehenetsia: 300 dip

Tartea: > 0

Eskanerraren markoaren altuera.
bistaratu_eskaneatu_lerroa Katea Lehenetsia: mugitzen Barrutia: Ez/finkoa/mugitzen Erakutsi marra gorria eskaner eremuan.

EZ: Ez da bistaratzen Konpondu: Erdian

Mugitzea: gora eta behera mugitu

gaitu_flash_ikonoa boolearra W1 上

Lehenetsia: egia

Q1 上

Lehenetsia: faltsua

Flasha kontrolatzeko pasatzeko botoia bistaratu ala ez.
    Barrutia: egia/gezurra  
gaitu_aldatu_ikonoa boolearra Lehenetsia: egia

Barrutia: egia/gezurra

Pasatzea erakutsi behar den ala ez

kamera aldatzeko botoia.

enable_indicator_lig boolearra Lehenetsia: faltsua Adierazlea bistaratu ala ez
ht   Barrutia: egia/gezurra Botoi argia, Q1ean bakarrik onartzen da.
deskodeformatua Katea Lehenetsia: BARCODE_ALL

Tartea: Barkua Formatua

Deskodetu formatu barrutia. Lehenetsia BARCODE_ALL da, formatuak ","z bereizten dira.
deskodetzaile_modua int Lehenetsia: 2 Barrutia: 0/1/2 Deskodetzeko modua: 0: modua1

1: modua2

2: modua3

gaitu_itzuli_irudia

e

boolearra Lehenetsia: faltsua

Barrutia: egia/gezurra

Ea

irudia.

to itzuli du eskaneatu
kamera_indizea int Lehenetsia: 0 Barrutia: 0/1/2 0: eskaner nagusia (kamera finkoa).

1: bigarren eskanerra (zomm kamera). 2: bezeroaren pantaila kamera.

eskaneatu_denbora_muga luzea (ms) Lehenetsia: -1

Tartea: > 0

<=0:betiko eskaneatu

> 0: eskaneatu denbora-mugarekin, denbora-muga amaitu denean, denbora-muga akatsa itzultzen da, interfaze sinkronizatuan bakarrik eragiten da.

eskaneatu_atala_bord

er_kolorea

int Lehenetsia:

Kolorea.ZURIA

Eskaneatutako ertzaren kolorea, erabili

Kolorea.argb

eskaneatu_sekzioa_izkina r_kolorea int Lehenetsia: Color.argb(0xFF, 0x21, 0xDB,

0xD5)

Eskaneatzeko txokoaren kolorea
eskaneatu_atal_lerroa_

kolorea

int Lehenetsia:

Kolorea.GORRIA

Eskaneatzeko lerroaren kolorea
eskaneatu_aholkua_testua Katea Lehenetsia: eskaneatze automatikoa eskaneatutakoa hartzerakoan

irudia

Eskaneatu ertzaren azpian dagoen aholkuaren testua
scan_tip_textSize int Lehenetsia: 15 Aholkuaren testuaren tamaina

Unitatea: sp

scan_tip_textColor int Lehenetsia:

Kolorea.ZURIA

Tip testuaren kolorea
scan_tip_textMargi n int Lehenetsia: 30 Puntako testuaren eta pantailaren behealdearen arteko distantzia

Unitatea: dp

flash_argi_egoera boolearra Lehenetsia: faltsua Flash argiaren hasierako egoera egiazkoa: irekita

false: itxia

adierazle_argi_egoera boolearra Lehenetsia: faltsua Argi adierazlearen hasierako egoera egiazkoa: irekita

false: itxia

eskaneatu_modua Katea Lehenetsia: elkarrizketa-koadroa Eskanerraren leiho modua

elkarrizketa-koadroa: zehaztutako UI gainjarri duen jarduera: eskaner-leihoa soilik dauka, UI titulurik gabe, UI botoirik, eskaner-leihoa beste UI jardueren gainean

scan_camera_expo ziur int Lehenetsia: 0 Kameraren esposizioaren konpentsazioa zoom kamerarako
eskaneatu_denbora_muga int Lehenetsia: 50 Deskodetze denbora maximoa
gaitu_ispilu_eskaneatzea boolearra Lehenetsia: egia Gaitu ispiluaren eskaneamendua

Lehenetsia egia da, irekita

gaitu_esku libreak boolearra Lehenetsia: egia Esku libreak gaituta, mugimenduak hautematen eta mugimenduaren argiztapenean hasiko dira. Orokorrean, etengabe eskaneatzean gaitu behar da.

Zebra eskanerrako bakarrik.

enable_ui_by_zebr a boolearra Lehenetsia: egia true: bistaratu UI, false: ezkutatu UI. UI ezkutatzen baduzu, abiarazteko eskaneraren abiadura azkarragoa izango da.

Zebra eskanerrako bakarrik.

enable_mobile_phone_screen_mode boolearra Lehenetsia: faltsua egia: barra-kodeen irakurketa-errendimendua hobetzen du telefono mugikorretan eta pantaila elektronikoetan, baina deskodetzea areagotu dezake

denbora.

Beraz, telefonotik kodea eskaneatu behar ez baduzu, ezarri faltsua.

Zebra eskanerrako bakarrik.

enable_upca_count ry boolearra Lehenetsia: egia egia: UPC_A deskodetu ondoren, erakutsi herrialde-kodea lehenik; false: UPC_A deskodetu ondoren, ezkutatu herrialde-kodea lehenik.

Zebra eskanerrako bakarrik.

enable_descoding_ill umination boolearra Lehenetsia: egia Argiztapena gaituz gero, normalean, goi mailako irudiak lortzen dira. Argiztapenaren eraginkortasuna murrizten da

helburuarekiko distantzia handitzen da. egia: Gaitu Deskodetzeko argiztapena, deskodetzaileak argiztapena pizten du irudiak harrapatzen dituen bakoitzean

laguntza

      deskodetzea.

false: Deskodetzeko argiztapena desgaitu, deskodetzaileak ez du deskodetzeko argiztapena erabiltzen.

Zebra eskanerrako bakarrik.

enable_motion_ilu minazioa boolearra Lehenetsia: faltsua egia: mugimenduaren argiztapena aktibatzen du esku libreko eta helburu automatikoko abiarazte moduetan.

false: mugimenduaren argiztapena itzaltzen du. Parametro hau esku libreko moduan soilik aplikatzen da.

Zebra eskanerrako bakarrik.

Eskaner modua
Elkarrizketa moduan, eskaner-interfazea kameraren eskaner-zerbitzuak marraztu du, hirugarren aplikazioak ez du kontuan hartu behar interfazeari buruz.
Gainjartze moduan, kamera eskaner-zerbitzuak eskaner-leihoa soilik eskaintzen du, leihoa hirugarren aplikazioaren interfazearen gainean bistaratuko da. Beraz, hirugarren aplikazioak berez marraz dezake UI, hala nola izenburua, botoiak. Modu honetan, aplikazioak kamera, flash argia, argi adierazlea aldatu behar baditu, emisioa behean bezala erabili behar du:

Kamera:
Igorpen-ekintza: com.wizarpos.scanner.setcamera
Igorpen-gakoa: overlay_config
balioa: 0 Kamera finkoa;1 zoom kamera; 2 bezeroen pantaila kamera

Flash argia:
Igorpen-ekintza: com.wizarpos.scanner.setflashlight
Igorpen-gakoa: overlay_config
Balioa: egia irekia; faltsu itxia

Argi adierazlea:
Igorpen-ekintza: com.wizarpos.scanner.setindicator
Igorpen-gakoa: overlay_config
Balioa: egia irekia; faltsu itxia

Sample Code: // flash argia ireki

Intent intent=asmo berria ();
intent.setAction(ScanParameter.BROADCAST_SET_FLASHLIGHT);
intent.putExtra(ScanParameter.BROADCAST_VALUE, sendBroadcast(intent);

Zebra eskanerra

Zebra eskaneatzeak baldintza hauek behar ditu:

  1. Badago Zebra irudia.
  2. Ezarri "camera_index" parametroa 0- eskaner nagusian.
  3. Pantaila beltza denean, irudiak ezin du funtzionatu.
  4. Ezarri "enable_ui_by_zebra" parametroa gezurrezko UI lehenetsia sistematik ezkutatzeko.

ScanResult

Eremua Mota Deskribapena
emaitzaKodea Int >=0: Arrakasta

<0: Porrota

Ikusi ere Errore kodea

testua Katea Testuaren emaitza, errorea gertatu denean nulua itzultzen du, testuaren formatua UTF-8 da, beste formatua behar izanez gero, mesedez lortu buffer gordina.

eta zuk zeuk aldatu.

rawBuffer Byte[] Buffer gordina
bit-mapa Bit-mapa Eskaneatutako irudia, enable_return_image parametroa ezartzen denean itzuliko da

egia.

barra-kode formatua Katea barra-kodeFormatua, ikus

eranskina

Errore kodea

Balioa Deskribapena
1 Arrakasta
0 Utzi
2 Eskaneatu interfazea guztiz bistaratzen da
-1 Zerbitzua okupatu da
-2 Ezin da kamera ireki
-3 Eskaneatzeko denbora-muga
-4 Legez kanpoko parametroa

Erabilera

Eskaner zerbitzuen integrazioa
Eskaner zerbitzuak AIDL erabiltzen du, beraz, hirugarrenen aplikazioek AIDL sartu behar dute files (lortu \source\aidl barra-kode SDK paketetik) WizarPOS-ek emandakoa. Jarraian Eclipse eta Android Studio-n integratzeko metodoak deskribatzen dira.
The filebesteak beste:wizarPOS -2D Smart- POS-FIG 2

Eclipse-n, jarri guztiak files paketean: com. hodeiak.scan zerbitzaria. esan zuen.
Android Studio-n, jarri lehenik AIDL files paketean (com. cloud pos. scan server.aidl) , paketea karpetan dago (src—main—aildl), paketea eta karpetak existitu ez badira, mesedez egin itzazu lehenik.wizarPOS -2D Smart- POS-FIG 3

Eta gero, jarri paketea (com. cloud pos.scan server.and), bi java files paketea karpetan (src—main–java), paketea eta karpetak existitzen ez badira, egin itzazu lehenik. wizarPOS -2D Smart- POS-FIG 4

proiektu garbia, karpetan arrakastaz konpilatzen bada: eraiki-sortu-iturria-aidl-araztea, orduan aplikazioak eskaner-zerbitzura dei dezake.wizarPOS -2D Smart- POS-FIG 5

Lotura zerbitzua
Lotura zerbitzurako APIa eman dugu. Jarri interfazea eta tresna edozein paketetan. Lortu \source\aidlControl barra-kode SDK paketetik.wizarPOS -2D Smart- POS-FIG 6

  1. Erabili honako metodo hau zerbitzua lotzeko:
    AidlController.getInstance().startScanService(hau, hau);
  2. Inplementatu IAIDLListener interfazea. Eskuratu eskaner zerbitzua, erabili zerbitzua funtzioetara deitzeko.

wizarPOS -2D Smart- POS-FIG 7

Erabili funtzio hau zerbitzua deskonektatzeko.wizarPOS -2D Smart- POS-FIG 8

Mesedez, ikusi demo proiektua ere xehetasunetarako.

eranskina

Barra-kode formatua
Example:wizarPOS -2D Smart- POS-FIG 9

Dokumentuak / Baliabideak

wizarPOS 2D Smart POS [pdfArgibideak
2D Smart POS, 2D, Smart POS

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *