wizarPOS 2D Smart POS 
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 | 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:
- Badago Zebra irudia.
- Ezarri "camera_index" parametroa 0- eskaner nagusian.
- Pantaila beltza denean, irudiak ezin du funtzionatu.
- 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:
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.
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. 
proiektu garbia, karpetan arrakastaz konpilatzen bada: eraiki-sortu-iturria-aidl-araztea, orduan aplikazioak eskaner-zerbitzura dei dezake.
Lotura zerbitzua
Lotura zerbitzurako APIa eman dugu. Jarri interfazea eta tresna edozein paketetan. Lortu \source\aidlControl barra-kode SDK paketetik.
- Erabili honako metodo hau zerbitzua lotzeko:
AidlController.getInstance().startScanService(hau, hau); - Inplementatu IAIDLListener interfazea. Eskuratu eskaner zerbitzua, erabili zerbitzua funtzioetara deitzeko.

Erabili funtzio hau zerbitzua deskonektatzeko.
Mesedez, ikusi demo proiektua ere xehetasunetarako.
eranskina
Barra-kode formatua
Example:
Dokumentuak / Baliabideak
![]() |
wizarPOS 2D Smart POS [pdfArgibideak 2D Smart POS, 2D, Smart POS |





