wizarPOS -LOGO

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

Pambuka

tujuane

Dokumen iki nerangake instruksi nggunakake Layanan Pindai WizarPOS, kalebu deskripsi antarmuka, deskripsi parameter, lan cara nelpon layanan kasebut.
panganggo
Sing maca dokumen iki yaiku pangembang sing nggunakake Layanan Pindai WizarPOS.

Latar mburi Proyek

Swaraview
POS pinter WizarPOS saiki nggunakake sistem Android sing ditingkatake lan disesuaikan minangka OS, lan kanggo fungsi pindai, sistem Android ora dilengkapi fungsi scan barcode/2D barcode, nanging nggunakake layanan open source, kayata Zxing/Zbar . Akeh Aplikasi Android sing digunakake ing piranti POS pinter wis nyadari fungsi pindai sing cepet banget.
Nanging, ana akeh aplikasi liyane sing dikembangake adhedhasar POS cerdas, dudu aplikasi komersial sing wis siap. Lan akeh pangembang POS sing pinter uga duwe latar mburi industri POS, dudu pangembang Android profesional. Dadi nalika miwiti ngembangake aplikasi, dheweke pengin diwenehi API pindai sing trep dening WizarPOS, tinimbang sinau Zxing / Zbar dhewe.
Saka titik hardware saka view, bagean pindai sing digunakake ing POS pinter, ora kudu kamera standar, bakal ana sawetara transformasi. Ing sawetara kasus, bagean pindai kudu dadi hardware khusus. Mulane, nggunakake langsung Zxing / Zbar ora bener ditrapake kanggo WizarPOS pinter POS, nanging mbutuhake sawetara modifikasi lan pangaturan dhewe.
Kanggo alasan ing ndhuwur, kita nimbang ngembangake Layanan Pindai WizarPOS kanggo nggampangake pangembang pihak katelu ngembangake aplikasi kanthi fungsi pindai.

Panggunaan Layanan Scan
Layanan pindai minangka aplikasi lan diwiwiti kanthi nggunakake AIDL. Aplikasi pihak katelu nggawe UI kanthi transfer sawetara paramèter.

Katrangan antarmuka lan paramèter

  • Katrangan antarmuka
     ScanBarcode
    Antarmuka iki minangka antarmuka panggilan sinkron.
    Nalika aplikasi nelpon antarmuka, layanan pindai mbukak kamera kaya sing ditetepake dening parameter pindai lan miwiti pindai. Sawise pindai, kamera dipateni lan asile langsung bali
    ScanResult scanBarcode(ScanParameter parameter);
  • Parameter:
    ScanParameter
  • bali:
    Hasil Scan
  • diwiwiti
    Antarmuka iki minangka antarmuka panggilan sing ora sinkron, sing nuduhake scan terus diwiwiti. Nalika aplikasi nelpon antarmuka iki, layanan pindai mbukak kamera kaya sing ditetepake dening parameter pindai lan miwiti pindai. Sawise saben scan, asil bakal bali sak callback. Sawise saben callback rampung, proses scan sabanjure diwiwiti. void startScan(parameter ScanParameter, IScanCallBack callBack); Parameter: ScanParameter, IScanCallBack
  • bali:
    FoundBarcode ing IScanCallBack
    Nalika nelpon startScan (), parameter IScanCallBack kudu dipun ginakaken. Panelpon bisa njaluk ScanResult liwat antarmuka iki. Nalika antarmuka iki disebut, layanan scan ing negara ngaso, lan sawise telpon bali, tumindak scan sabanjuré bakal diterusake. Sampeyan bisa mateni layanan pindai sing lagi ngaso kanthi "stop scan".
    void ketemu barcode(ScanResult asil);
  • Parameter:
    Hasil Scan
  • StopScan
    Mungkasi scan terus, lan mateni UI layanan scan. Sawise mandheg, panelpon liyane bisa nelpon startScan, utawa antarmuka scanBarcode.
  • bali: getScanType(int index)
    Entuk jinis scanner.
  • String getScanType(int index); Parameter:
    Int 0 utawa 1;
  • bali:
    String "Scanner" utawa "Kamera" utawa "Error";
  • Katrangan Parameter
    ScanParameter
    ScanParameter minangka obyek parameter, nemtokake paramèter sing dibutuhake dening layanan scanner.

metode: set(String key, String value) (Value Not case sensitive)

Kunci Nilai

Jinis

Nilai Katrangan
jendhela_ndhuwur int Default: 0,

Range: > 0

Jarak menyang ndhuwur layar. Efek ing mode overlay.

(dp)

jendhela_kiwa int Default: 0,

Range: > 0

Jarak menyang layar kiwa. Efek ing mode overlay.

(dp)

jendhela_jembaré int Default: ambane layar

Range: > 0

Mode layar.

(dp)

jembaré. Efek in overlay
dhuwur_jendela int Default: dhuwur layar

Range: > 0

Dhuwur layar. Efek ing mode overlay.

(dp)

enable_scan_section n boolean Default: bener Range: bener / salah palsu: kabeh jendhela tampilan iku wilayah kanggo scanner, mbusak pigura scanner.

bener: ngatur area scanner, duwe pigura scanner, sisih liyane semitransparent, pigura scanner ing tengah, bisa nyetel jembaré utawa dhuwur saka

pigura scanner.

scan_section_width int Default: 300 dip

Range: > 0

Jembaré pigura scanner.
scan_section_height

t

int Default: 300 dip

Range: > 0

Dhuwur pigura scanner.
tampilan_scan_line String Default: obah Range: Ora / tetep / obah Tampilake garis abang ing area scanner.

NO: Ora ditampilake Telpon: Ing tengah

Obah: Obah munggah lan mudhun

enable_flash_icon boolean W1 上

Default: bener

Q1 上

Default: salah

Apa arep nampilake tombol hover kanggo ngontrol lampu kilat.
    Range: bener / salah  
enable_switch_icon boolean Default: bener

Range: bener / salah

Apa kanggo nampilake hover

tombol ngoper kamera.

enable_indicator_lig boolean Default: palsu Apa kanggo nampilake indikator
ht   Range: bener / salah buton cahya, mung didhukung ing Q1.
decodeformat String Default: BARCODE_ALL

Range: Barcode Format

Rentang format decode. Default yaiku BARCODE_ALL, format dipisahake karo ",".
decoder_mode int Default: 2 Range: 0/1/2 Mode decode: 0: mode1

1: mode2

2: mode3

enable_return_imag

e

boolean Default: palsu

Range: bener / salah

apa

gambar.

kanggo bali ing dipindai
kamera_index int Default: 0 Range: 0/1/2 0: scanner utama (kamera tetep).

1: scanner kapindho (kamera zoom). 2: kamera tampilan pelanggan.

scan_time_out dawa (ms) Default: -1

Range: > 0

<=0:scan selawase

> 0: pindai nganggo wektu entek, nalika entek, bali kesalahan wektu entek, mung ditrapake ing antarmuka sing diselarasake.

scan_section_bord

er_warna

int Default:

Warna.PUTIH

Werna wates scan, gunakake

Warna.argb

scan_section_corne r_color int Default: Color.argb(0xFF, 0x21, 0xDB,

0xD5)

Werna sudhut scan
scan_section_line_

werna

int Default:

Warna.RED

Werna garis scan
scan_tip_text String Default: pindai otomatis nalika njupuk pindai

gambar

Teks tip ing ngisor wates pindai
scan_tip_textSize int Default: 15 Ukuran teks tip

Unit: sp

scan_tip_textWarna int Default:

Warna.PUTIH

Werna teks tip
scan_tip_textMargi n int Default: 30 Jarak antarane teks tip lan sisih ngisor layar

Unit: dp

flash_light_state boolean Default: palsu Kahanan wiwitan lampu kilat bener: dibukak

palsu: ditutup

status_lampu_indikator boolean Default: palsu Kondisi wiwitan lampu indikator bener: dibukak

palsu: ditutup

scan_mode String Default: dialog Mode jendhela Scanner

dialog: aktivitas kanthi overlay UI sing ditemtokake: mung duwe jendhela pemindai, tanpa judhul UI, tombol UI, jendhela pemindai ing ndhuwur aktivitas UI liyane

scan_camera_expo manawa int Default: 0 Kompensasi cahya kamera kanggo kamera zoom
scan_time_limit int Default: 50 Wektu decode maksimal
enable_mirror_scan boolean Default: bener Aktifake mirror scan

Default bener, dibukak

enable_hands_free boolean Default: bener Aktifake handsfree bakal miwiti ndeteksi gerakan lan katerangan gerakan. Umume, nalika scan terus-terusan kudu ngaktifake.

Mung kanggo scanner Zebra.

enable_ui_by_zebr a boolean Default: bener bener: tampilan UI, palsu: ndhelikake UI. Yen ndhelikake UI, kacepetan wiwitan scanner bakal luwih cepet.

Mung kanggo scanner Zebra.

enable_mobile_pho ne_screen_mode boolean Default: salah bener: nambah kinerja maca kode bar ing telpon seluler lan tampilan elektronik, nanging bisa nambah decode

wektu.

Dadi yen ora perlu mindhai kode saka telpon, mangga nyetel iku palsu.

Mung kanggo scanner Zebra.

enable_upca_count ry boolean Default: bener bener: sawise UPC_A dekoding, nuduhake kode negara ing Panggonan pisanan; palsu: sawise UPC_A dekoding, ndhelikake kode negara ing Panggonan pisanan.

Mung kanggo scanner Zebra.

enable_decoding_ill umination boolean Default: bener Ngaktifake katerangan biasane ngasilake gambar sing unggul. Efektivitas katerangan suda minangka

jarak menyang target mundhak. bener: Aktifake Dekoding Iluminasi, decoder nguripake katerangan saben gambar dijupuk kanggo

pitulungan

      dekoding.

palsu: Pateni Dekoding Iluminasi, decoder ora nggunakake dekoding katerangan.

Mung kanggo scanner Zebra.

enable_motion_illu mination boolean Default: salah bener: nguripake katerangan gerakan ing hands-free lan mode pemicu otomatis.

palsu: mateni katerangan gerakan. Parameter iki mung ditrapake kanggo mode hands-free.

Mung kanggo scanner Zebra.

Mode scanner
Ing mode dialog, UI scanner wis digambar dening layanan scanner kamera, app katelu ora perlu nimbang babagan UI.
Ing mode overlay, layanan scanner kamera mung nyedhiyakake jendhela scanner, jendhela bakal ditampilake ing ndhuwur UI app katelu. Dadi app katelu bisa nggambar UI dhewe, kayata judhul, tombol. Ing mode iki, yen app kudu ngoper kamera, lampu kilat, lampu indikator, kudu nggunakake siaran kaya ing ngisor iki:

kamera:
Aksi Siaran : com.wizarpos.scanner.setcamera
Broadcast Key: overlay_config
Nilai: 0 Kamera tetep;1 kamera zoom; 2 kamera tampilan pelanggan

Lampu kilat:
Siaran Tindakan : com.wizarpos.scanner.setflashlight
Broadcast Key: overlay_config
Nilai: bener dibukak; palsu ditutup

Lampu indikator:
Siaran Tindakan : com.wizarpos.scanner.setindikator
Broadcast Key: overlay_config
Nilai: bener dibukak; palsu ditutup

Sample Kode: // mbukak lampu kilat

Intent intent=new Intent();
intent.setAction(ScanParameter.BROADCAST_SET_FLASHLIGHT);
intent.putExtra(ScanParameter.BROADCAST_VALUE, sendBroadcast(maksud);

Zebra Scanner

Scan Zebra mbutuhake kahanan ing ngisor iki:

  1. Pencitra Zebra sing ana.
  2. Setel parameter "camera_index" menyang 0- pemindai utama.
  3. Nalika layar ireng, imager ora bisa digunakake.
  4. Setel parameter "enable_ui_by_zebra" kanggo false- ndhelikake UI standar saka sistem.

Hasil Scan

lapangan Jinis Katrangan
kode asil Int >=0: Sukses

<0: Gagal

Deleng uga Kode Kesalahan

teks String Asil teks, bali null nalika ana kesalahan, format teks UTF-8, yen perlu format liyane, njaluk buffer mentah

lan ngganti dhewe.

mentahBuffer Byte [] Penyangga mentah
bitmap Bitmap Gambar sing dipindai, bakal bali nalika nyetel parameter enable_return_image yaiku

bener.

barcodeFormat String barcodeFormat, ndeleng

Lampiran

Kode kesalahan

Nilai Katrangan
1 Sukses
0 Batal
2 UI pindai ditampilake kanthi lengkap
-1 Layanan wis dikuwasani
-2 Ora bisa mbukak kamera
-3 Pindai wektu entek
-4 Parameter ilegal

Panganggone

Integrasi layanan scanner
Layanan pemindai nggunakake AIDL, mula aplikasi pihak katelu kudu kalebu AIDL files ( njaluk saka \ sumber \ aidl saka paket SDK barcode) sing diwenehake dening WizarPOS. Ing ngisor iki diterangake cara nggabungake ing Eclipse lan Android Studio.
Ing files kalebu:wizarPOS -2D Smart- POS-FIG 2

Ing Eclipse, sijine kabeh files menyang paket: com. clouds.scan server. ngandika.
Ing Android Studio, pisanan sijine AIDL files ing paket (com. cloud pos. scan server.aidl), paket kasebut ana ing folder (src—main—aildl), yen paket lan folder durung ana, mangga gawe dhisik.wizarPOS -2D Smart- POS-FIG 3

Banjur, sijine paket (com. cloud pos.scan server.and), loro java files ing folder (src—main–java), yen paket lan folder ora ana, mangga gawe dhisik. wizarPOS -2D Smart- POS-FIG 4

proyek resik, yen dikompilasi sukses ing folder: mbangun-generate-sumber-aidl-debug, banjur app bisa nelpon layanan scanner kasil.wizarPOS -2D Smart- POS-FIG 5

Layanan ikatan
Kita wis nyedhiyakake API kanggo layanan ikatan. Sijine antarmuka lan implementasine ing paket apa wae. Entuk saka \source\aidlControl saka paket SDK barcode.wizarPOS -2D Smart- POS-FIG 6

  1. Gunakake cara ing ngisor iki kanggo ngiket layanan:
    AidlController.getInstance().startScanService(iki, iki);
  2. Ngleksanakake antarmuka IAIDLListener. Entuk layanan pemindai, gunakake layanan kasebut kanggo nelpon fungsi kasebut.

wizarPOS -2D Smart- POS-FIG 7

Gunakake fungsi iki kanggo mbebasake layanan.wizarPOS -2D Smart- POS-FIG 8

Deleng uga proyek demo kanggo rincian.

Lampiran

Format Barcode
Example:wizarPOS -2D Smart- POS-FIG 9

Dokumen / Sumber Daya

wizarPOS 2D Smart POS [pdf] Pandhuan
2D Smart POS, 2D, Smart POS

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *