java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²

Π Π°Π±ΠΎΡ‚Π° со сканСром ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ²

НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π•ΡΡ‚ΡŒ USB Wi-fi сканСр. НуТно ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΈΠ· Π‘Π” Π² mySQL. Π‘Π” ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ.

Π¨Ρ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ Ρ‚Π°ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ VARCHAR(25). Ну это ΠΌΠ΅Π»ΠΎΡ‡ΠΈ.

Π•Ρ‰Π΅ Π½Π°Π΄ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°. Или Π½ΠΎΠ²Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄, Π½Π΅ знаю ΠΊΠ°ΠΊ понятнСС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ Π½Π° ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ΅. Ну Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π΅Π³ΠΎ, этот Ρ‚ΠΎΠ²Π°Ρ€, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ. Π’ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. Π’Π°ΠΌ Π±Ρ‹Π»ΠΎ распознана ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ информация ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π΅, поставщикС (ЀОП «Π‘Π»Π°-Π±Π»Π°-Π±Π»Π°» ΠΈ Π΄Ρ€.).

Π― понимаю, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΆΠ΅ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для этого склада. Но ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄Ρ‹ ΠΆΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ Π½Π° вСсь ΠΌΠΈΡ€.

Волько Π²ΠΎΡ‚ Π΅Ρ‰Π΅ вопрос: я ΠΏΠΈΡˆΡƒ сСрвСр Π½Π° java ee. БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ‚ΠΎΠΆΠ΅ Π½Π° Π½Π΅ΠΉ.

Но. Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сам доступ ΠΊ ΡƒΡ‡Π΅Ρ‚Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· сайт. Π‘Ρ…Π΅ΠΌΠ° такая:

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π²Π΅Ρ€Π½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ сканСра ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π»Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, Π½Π° java ee. Или Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΡ€ΡƒΡ‚ΠΈΠ»ΠΎΡΡŒ Π½Π° сСрвСрС. Π― Ρ…ΠΎΡ‡Ρƒ просто ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» сСрвСр Π½Π° java ee. И сайт. Доступный Π² ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ сСти.

Π‘Π΅Ρ€Π²Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ прямо Π½Π° складС ΡΡ‚ΠΎΡΡ‚ΡŒ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΡƒΡ‡Π΅Ρ‚Π°, Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сканСром, Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ хочСтся. Π’ΠΎ Π΅ΡΡ‚ΡŒ вся эта Π»Π°Π±ΡƒΠ΄Π° Π½Π° java ee Π΄ΠΎΠ»ΠΆΠ½Π° постоянно ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° сСрвСрС. И Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π΅Π³ΠΎ запуском. МоТно ΠΊΠ°ΠΊ-Ρ‚ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

А Π½Π° сайтС Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ состояниС склада.

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Android SDK: созданиС сканСра ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°

Π’ этом руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ZXing (Zebra Crossing) для сканирования ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Android. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ рСсурсам этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, получая ΠΈ обрабатывая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΡ€Π΅ΠΌΠΈΡƒΠΌ-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: QR-ΠΊΠΎΠ΄ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ²

Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ ярлык, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ нСсколько Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… QR-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ считыватСлСй ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android Π½Π° Envato Market.

НапримСр, QR-Code & Barcode Reader ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ мобильного устройства для считывания ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ QR-ΠΊΠΎΠ΄ΠΎΠ².

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автоматичСски распознаСт Ρ‚ΠΈΠΏ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, обСспСчивая приятный ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π°. Он Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚, Ссли QR-ΠΊΠΎΠ΄ являСтся Π²ΠΈΠ·ΠΈΡ‚Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ SMS ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ, Π² зависимости ΠΎΡ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹Π±ΠΎΡ€ поисковой систСмы идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для поиска Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, сравнСния Ρ†Π΅Π½ ΠΈ ΠΎΠ±Π·ΠΎΡ€ΠΎΠ².

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π΅ΠΆΠΈΠΌ массового сканирования ΠΈΠ»ΠΈ автоматичСскоС дСйствиС, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ прСдприятия. Для компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° трСбуСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сканирования ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ zBar, которая, ΠΊΠ°ΠΊ утвСрТдаСтся, являСтся самой быстрой срСди Π΄Ρ€ΡƒΠ³ΠΈΡ… доступных Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° здСсь.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Envato Market Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Π² Envato Studio. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции ΠΏΠΎ созданию считыватСля ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Android

Π¨Π°Π³ 1

Π’ Eclipse создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Android. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ Eclipse ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для вас пустоС мСроприятиС с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΊΠ°ΠΊ для занятия, Ρ‚Π°ΠΊ ΠΈ для Π΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°.

java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². 4974f32d1315581f0847cf40b5415eb3. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-4974f32d1315581f0847cf40b5415eb3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 4974f32d1315581f0847cf40b5415eb3. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π¨Π°Π³ 2

ПослС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΄Π²Π° тСкстовых прСдставлСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сканировании.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ваш XML-Ρ„Π°ΠΉΠ» Β» res / values ​​/ strings Β«.

2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ZXing ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

Π¨Π°Π³ 1

ZXing β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая прСдоставляСт доступ ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΌΡƒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Π½Π° Android. МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΆΠ΅ установили ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° своих устройствах, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сканированиС Intents ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β« Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ сканированиС. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… классов Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ позволяСт ZXing ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ случаях, ΠΊΠΎΠ³Π΄Π° Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ установлСн сканСр. Если Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ установлСн сканСр ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°, Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Π‘ΠΎΠ²Π΅Ρ‚: ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ZXing являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Π² свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ цСлСсообразно, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ внСсти измСнСния Π² Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ JAR-Ρ„Π°ΠΉΠ» Π² свои собствСнныС прилоТСния, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв использованиС сканирования Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ β€” это Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ простой Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, плюс ваши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ самой послСднСй вСрсии прилоТСния ZXing.

Π’ Eclipse Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠ°ΠΏΠΊΡƒ Β« src Β», Π²Ρ‹Π±Ρ€Π°Π² Β« Новый Β», Π·Π°Ρ‚Π΅ΠΌ Β« ΠŸΠ°ΠΊΠ΅Ρ‚ Β» ΠΈ ввСдя Β« com.google.zxing.integration.android Β» Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². 6a5149d889f4f38fd436f2eca1a56104. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-6a5149d889f4f38fd436f2eca1a56104. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 6a5149d889f4f38fd436f2eca1a56104. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π¨Π°Π³ 2

Eclipse ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько способов ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ваши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Для Ρ†Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства Π²Π°ΠΌ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… класса ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· ZXing. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β« Новый Β», Π·Π°Ρ‚Π΅ΠΌ Β« Класс Β» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Β« IntentIntegrator Β» Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ класса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ. Π‘ΠΎΠ·Π΄Π°Π² этот класс, сдСлайтС Ρ‚ΠΎ ΠΆΠ΅ самоС для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² Π΅ΠΌΡƒ Β« IntentResult Β» Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ класса.

java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². e0db64eab5963f349ec06aaa74b27ae8. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-e0db64eab5963f349ec06aaa74b27ae8. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° e0db64eab5963f349ec06aaa74b27ae8. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ГСнСрация ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ QR-ΠΊΠΎΠ΄ΠΎΠ² Π½Π° Java

Π’ Java Π΅ΡΡ‚ΡŒ нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ QR-ΠΊΠΎΠ΄ΠΎΠ². Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

1. ΠžΠ±Π·ΠΎΡ€

Π¨Ρ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΌΡ‹ прСдоставим ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Π½Π° Π²Π΅Π±-страницС, ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС Ρ‚ΠΈΠΏΡ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² Java.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². Π”Π°Π»Π΅Π΅ ΠΌΡ‹ рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². НаконСц, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, обслуТивая ΠΈΡ… ΠΈΠ· Π²Π΅Π±-слуТбы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spring Boot.

2. Π’ΠΈΠΏΡ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ²

Π¨Ρ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², сСрийныС Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠ°Ρ€Ρ‚ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌ сторонам, ΠΊΠ°ΠΊ Ρ€ΠΎΠ·Π½ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ†Ρ‹, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΈ транспортныС поставщики, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΏΠΎ всСй Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ поставок.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… символов ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² Π΄Π²Π΅ основныС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

2.1. ΠšΠΎΠ΄Ρ‹ UPC (Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°)

UPC-ΠΊΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… 1D-ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², ΠΈ ΠΌΡ‹ Π² основном Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΡ… Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π¨Ρ‚Π°Ρ‚Π°Ρ….

UPC-A-это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄, содСрТащий 12 Ρ†ΠΈΡ„Ρ€ : ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ производитСля (6 Ρ†ΠΈΡ„Ρ€), Π½ΠΎΠΌΠ΅Ρ€ издСлия (5 Ρ†ΠΈΡ„Ρ€) ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄ UPC-E, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8 Ρ†ΠΈΡ„Ρ€ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

2.2. ΠšΠΎΠ΄Ρ‹ EAN

Код EAN-13 являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ стандартом EAN ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΊΠΎΠ΄Ρƒ UPC. Он состоит ΠΈΠ· 13 Ρ†ΠΈΡ„Ρ€ β€” Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ β€œ0”, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт UPC-ΠΊΠΎΠ΄.

2.3. Код 128

Π¨Ρ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ Code 128-это ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ высокой плотности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² логистичСской ΠΈ транспортной отраслях для Π·Π°ΠΊΠ°Π·Π° ΠΈ распрСдСлСния. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС 128 символов ASCII , ΠΈ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

2.4. PDF417

PDF417-это слоТСнный Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄, состоящий ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… 1D ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², ΡƒΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ сканСр.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅ΠΌ Π΅Π³ΠΎ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прилоТСниях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅Π·Π΄Π½Ρ‹Π΅ (посадочныС Ρ‚Π°Π»ΠΎΠ½Ρ‹), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ запасами.

PDF417 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ исправлСниС ошибок Π ΠΈΠ΄Π°-Π‘ΠΎΠ»ΠΎΠΌΠΎΠ½Π° вмСсто ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€. Π­Ρ‚ΠΎ исправлСниС ошибок позволяСт символу Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½Π΅ вызывая ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большим ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ – Π² 4 Ρ€Π°Π·Π° большС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ 2D-ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Datamatrix ΠΈ QR-ΠΊΠΎΠ΄Ρ‹.

2.5. QR-ΠΊΠΎΠ΄Ρ‹

QR-ΠΊΠΎΠ΄Ρ‹ становятся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹ΠΌΠΈ 2D-ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°ΠΌΠΈ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ прСимущСство QR-ΠΊΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ пространствС.

Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ стандартизированных Ρ€Π΅ΠΆΠΈΠΌΠ° кодирования для эффСктивного хранСния Π΄Π°Π½Π½Ρ‹Ρ…:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ Π³ΠΈΠ±ΠΊΠΈ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ смартфона. Подобно PDF417, QR-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ поврСТдСния, Π½Π΅ вызывая ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

3. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ²

ΠœΡ‹ собираСмся ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ:

Barcode4j Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ 2D – ΡˆΡ‚Ρ€ΠΈΡ… – ΠΊΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DataMatrix ΠΈ PDF417, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ PDF417 доступСн Π² ΠΎΠ±Π΅ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. Но, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Barcode4j, Π‘Π°Ρ€Π±Π΅ΠΊΡŽ считаСт Π΅Π³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

ZXing (β€œΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ зСбры”)-это многоформатная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ 1D/2D, рСализованная Π½Π° Java, с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки. Π­Ρ‚ΠΎ основная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° , которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ QR-ΠΊΠΎΠ΄Ρ‹ Π½Π° Java.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° QRGen ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ простой API Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ QR-ΠΊΠΎΠ΄Π°, построСнный ΠΏΠΎΠ²Π΅Ρ€Ρ… ZXing. Он прСдоставляСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для Java ΠΈ Android.

4. ГСнСрация Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π¨Ρ‚Ρ€ΠΈΡ…-Кодов

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°Ρ€Ρ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG, Π½ΠΎ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GIF ΠΈΠ»ΠΈ JPEG.

4.1. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘Π°Ρ€Π±Π΅ΠΊΡŽ

Как ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π±Π°Ρ€Π±Π΅ΠΊΡŽ прСдоставляСт ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ API для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². Нам Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ тСкст ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Π² качСствС минимального Π²Π²ΠΎΠ΄Π°. Но ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ (Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° дюйм). Π§Ρ‚ΠΎ касаСтся ΡˆΡ€ΠΈΡ„Ρ‚Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для отобраТСния тСкста ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π‘Π°Ρ€Π±Π΅ΠΊΡŽ Maven:

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ для ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° EAN13:

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы для ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² EAN/UPC, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° автоматичСски добавляСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

4.2. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ²

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с добавлСния зависимости Barcode Maven:

Аналогично, Π΄Π°Π²Π°ΠΉΡ‚Π΅ построим Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ для ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° EAN13:

4.3. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ZXing

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π΅ зависимости Maven: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ core image/| ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Java :

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ EAN13:

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ тСкст ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы для ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² EAN. Но для ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² UPC-A ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ тСкст ΡˆΡ‚Ρ€ΠΈΡ… – ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

5. ГСнСрация 2D Π¨Ρ‚Ρ€ΠΈΡ…-Кодов

5.1. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ZXing

ΠœΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для создания QR-ΠΊΠΎΠ΄Π°. API Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ API Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ²:

5.2. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ QRGen

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ jetpack ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ QRGen Π² ваш pom.xml:

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ QR-ΠΊΠΎΠ΄:

6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слуТбы ΠžΠ’Π”Π«Π₯А

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² для использования, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ ΠΈΠ· Π²Π΅Π±-слуТбы Spring Boot.

ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с RestController :

НаконСц, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Π°Π»ΡŒΠΎΠ½Π° ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ для просмотра сгСнСрированных ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ².

6.1. ГСнСрация ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° UPC-A

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ UPC-Π²Π΅Π±-сСрвис, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π±Π°Ρ€Π±Π΅ΠΊΡŽ:

6.2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° EAN13

Аналогично, ΠΌΡ‹ собираСмся Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Π΅Π±-слуТбу EAN13:

А Π²ΠΎΡ‚ наш ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄:

6.3. ГСнСрация ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Code128

Π’ этом случаС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ POST. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π²Π΅Π±-слуТбу Code 128, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π±Π°Ρ€Π±Π΅ΠΊΡŽ:

ΠœΡ‹ прСдоставим Ρ‚Π΅Π»ΠΎ запроса, содСрТащСС Π΄Π°Π½Π½Ρ‹Π΅:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

6.4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° PDF417

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ собираСмся Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Π΅Π±-слуТбу PDF417, которая ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΊΠΎΠ΄ 128:

ΠœΡ‹ прСдоставим Ρ‚Π΅Π»ΠΎ запроса, содСрТащСС Π΄Π°Π½Π½Ρ‹Π΅:

И Π²ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄:

6.5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° QR-ΠΊΠΎΠ΄Π°

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π²Π΅Π±-сСрвис QR-ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ZXing:

ΠœΡ‹ прСдоставим Ρ‚Π΅Π»ΠΎ запроса, содСрТащСС Π΄Π°Π½Π½Ρ‹Π΅:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ силу QR-ΠΊΠΎΠ΄ΠΎΠ² для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ пространствС.

7. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС Ρ‚ΠΈΠΏΡ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² Java.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΠΈ 2D ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ самыС популярныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java для ΠΈΡ… создания. Π₯отя ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ нСсколько простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ дальшС для Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

НаконСц, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² слуТбу REST ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РаспознаваниС Barcode Android

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ZXing (Zebra Crossing), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ Π² нашСм Android ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ZXing, Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ сканСра barcode, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ классы, прСдоставляСмыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ позаботятся ΠΎΠ± этом. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡ ZXing Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ€ΠΈΡ…ΠΊΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ основной части прилоТСния.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π¨Π°Π³ 1

Π’ Eclipse создайтС Π½ΠΎΠ²Ρ‹ΠΉ Android ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя прилоТСния, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². image loader. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π¨Π°Π³ 2

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ основной шаблон. Eclipse Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ стандартный шаблон. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ

ПослС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° тСкстовых поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ отсканированной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ тСкст. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» res/values/strings

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ. Когда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ распознавания, ΠΎΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Π΅Π³ΠΎ Π² тСкстовых полях.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ZXing

Π¨Π°Π³ 1

ZXing β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ распознавания ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ² Π½Π° Android. НСкоторыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ установлСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ZXing, поэтому достаточно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ рассмотрим способ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния. Если Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отсутствуСт Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π’ Eclipse Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Π’Π°Ρˆ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Для этого ΠΊΠ»ΠΈΠΊΠ½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ΅ src ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Β«NewΒ»->Β«PackageΒ», Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄Π΅ΠΌ com.google.zxing.integration.android Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². image loader. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π¨Π°Π³ 2

Eclipse ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько способов импортирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ самым простым ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ созданиС Π΄Π²ΡƒΡ… классов, содСрТащий ΠΊΠΎΠ΄ ΠΈΠ· ZXing. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ Π’Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Β«NewΒ»->Β«ClassΒ» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Β«IntentIntegratorΒ» Π² качСствС названия класса. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π’Ρ‹ создали класс, ΠΏΡ€ΠΎΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠΆΠ΅ самоС, Π½ΠΎ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ класс Β«IntentResultΒ».
java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². image loader. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π² созданныС классы.
java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². image loader. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² основной класс

ВСрнСмся Π½Π° ΠΌΠΈΠ½ΡƒΡ‚ΠΊΡƒ ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Eclipse ΠΌΠΎΠ³ ΡƒΠΆΠ΅ ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π° Вас

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ содСрТаниС Π΄Π²ΡƒΡ… классов. Π˜Π·ΡƒΡ‡ΠΈΠ² ΠΈΡ… Π’Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ΄. Π­Ρ‚ΠΈ Π΄Π²Π° класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто интСрфСйсами, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ доступ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ сканирования.

Π‘ΠΊΠ°Π½ΠΈΡ€ΡƒΠ΅ΠΌ

Π¨Π°Π³ 1

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ сканированиС, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π½Π°ΡˆΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ прилоТСния сущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ onCreate, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ

ΠŸΠ΅Ρ€Π΅Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ создайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π΄Π²Π° тСкстовых поля, созданных Π² шаблонС

ПослС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π² onCreate Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия

Π Π°ΡΡˆΠΈΡ€ΠΈΠΌ класс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ интСрфСйс OnClickListener

Π¨Π°Π³ 2

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°Ρ‡Π°Π»ΠΎΠΌ процСсса сканирования. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ onClick

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π±Ρ‹Π»Π° Π»ΠΈ Π½Π°ΠΆΠ°Ρ‚Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° сканирования

Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° с условиСм создадим экзСмпляр класса IntentIntegrator, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ

БСйчас, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, которая Π½Π°Ρ‡Π½Π΅Ρ‚ сканированиС

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ распознаваниС, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ установлСно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сканирования Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² сканирования

Π¨Π°Π³ 1

Π‘ΠΊΠ°Π½Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ°. Π—Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сканирования Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ onActivityResult. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² наш ΠΊΠΎΠ΄

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ постараСмся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Π¨Π°Π³ 2

Как ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ пуст. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Если ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сканирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠ» сканированиС), Ρ‚ΠΎ ΠΌΡ‹ просто Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ сообщСниС

ВСрнСмся Π² Π±Π»ΠΎΠΊ с условиСм, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΠ»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Intent Result ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° сканирования. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сканирования, ΠΊΠ°ΠΊ строку

Π’Π°ΠΊΠΆΠ΅, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π²ΠΈΠ΄ barcode

Π¨Π°Π³ 3

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ просто ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

ЗапуститС нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС вмСсто эмулятора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» распознавания ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ΠΎΠ². ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…ΠΊΠΎΠ΄ с ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ сканирования
java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². image loader. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ² Ρ„ΠΎΡ‚ΠΎ. java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° java сканСр ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ². ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. НуТСн ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ бСсплатной, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для считывания ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

[wpanchor этом ΡƒΡ€ΠΎΠΊΠ΅ научимся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для чтСния ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ QR-ΠΊΠΎΠ΄ΠΎΠ² с использованиСм стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Mobile Vision API.

Π•Ρ‰Π΅ с выпуском Google Play services вСрсии 7.8 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ интСрфСйсы Mobile Vision, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ API для обнаруТСния ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°. Они ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², быстро, Π»Π΅Π³ΠΊΠΎ ΠΈ локально.

Π’ΠΈΠΏ Barcode прСдставляСт собой Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ ΠΈ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ случаС 1D ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠΎΠ΄Ρ‹ UPC, это Π±ΡƒΠ΄Π΅Ρ‚ просто Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π΅. Π•Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ доступно Π² ΠΏΠΎΠ»Π΅ rawValue, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΠΎΠ»Π΅ format.

ИспользованиС Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Mobile Vision API позволяСт ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ Π² любом ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ синтаксичСский Ρ€Π°Π·Π±ΠΎΡ€ всСх ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² выполняСтся локально, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ соСдинСниС с сСрвСром для чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΊΠΎΠ΄Π°. НапримСр, ΠΏΡ€ΠΈ считывании Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° PDF-417, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ 1 ΠšΠ‘ тСкста, ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всю Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² Π½Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Π˜Ρ‚Π°ΠΊ, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Π½Π°ΠΌ понадобится:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Android Studio. ΠŸΡ€ΠΈ создании Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ шаблон Empty Activity.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слуТбы Google Play, Π² состав ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Mobile Vision API. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» build.gradle вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ сСкции зависимостСй Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ строки. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Gradle ΠΏΡ€ΠΈ нСобходимости.

Π‘Π»ΡƒΠΆΠ±Ρ‹ Google Play часто ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ, Π² Android Studio Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ инструмСнты > Android > SDK Manager.

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строчку для сСрвисов Google Play ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна вСрсия 26 ΠΈ Π²Ρ‹ΡˆΠ΅. Если Π½Π΅Ρ‚ β€” установитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс.

Π’ Android Studio Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ Β«resΒ» ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Β«layoutΒ». Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Β«activity_main.xmlΒ». ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваш ΠΌΠ°ΠΊΠ΅Ρ‚ содСрТит тСкстовоС ΠΏΠΎΠ»Π΅

. НуТно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€ΠΎΠΌΠ΅ тСкстового поля Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Для всСх экранных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² прописываСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π² ΠΊΠΎΠ΄Π΅.

По Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° изобраТСния ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ImageView. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° информация, считанная ΠΈΠ· Π½Π΅Π³ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² TextView.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ прилоТСния для считывания ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ устройства, ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€Π΅Π²ΡŒΡŽ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого потрСбуСтся достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡƒΡ€ΠΎΠΊΠ° я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ прилоТСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ qr-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ присутствуСт Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ изобраТСния qr-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΡΡŽΠ΄Π°.

НазовитС Π΅Π³ΠΎ qr.png ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° res/drawable.Android Studio обСспСчит доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² качСствС рСсурса с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ: R.drawable.qr

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ написанию ΠΊΠΎΠ΄Π° прилоТСния.

Π’ Ρ„Π°ΠΉΠ»Π΅ MainActivity.java Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onCreate Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎ настраиваСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий (onClick), ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ напишСм Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onClick.

НачнСм с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ImageView ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ. Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ BitMapFactory для дСкодирования рСсурса R.drawable.qr Π² растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ImageView.

Π”Π°Π»Π΅Π΅ создаСм экзСмпляр класса BarcodeDetector, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Builder ΠΈ настраиваСм Π΅Π³ΠΎ Π½Π° поиск QR-ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΌΠΎΠ³ Π±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ).

Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· наш Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ сработаСт, ΠΊΠΎΠ³Π΄Π° слуТба Google Play Π΅Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ наш Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Если Π½Π΅Ρ‚, Π½Π°ΠΌ придСтся ΠΆΠ΄Π°Ρ‚ΡŒ окончания Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто Π½Π° устройствС. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ обратимся ΠΊ тСкстовому полю, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ Π²Ρ‹ΡˆΠ΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onCreate.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ допишСм ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° сообщСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° наш Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ создан ΠΈ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, создаСм ΠΊΠ°Π΄Ρ€ ΠΈΠ· растрового изобраТСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Ρƒ. Π’ΠΎΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ массив ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² SparseArray.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Mobile Vision API способСн ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅. Π’ этом случаС массив SparseArray Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ нСсколькими записями.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° этом этапС Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎ массиву SparseArray ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. НуТно ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько, ΠΈΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π’ нашСм случаС ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄, ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ТСсткий ΠΊΠΎΠ΄ для Π½Π΅Π³ΠΎ. Для этого ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«thisCodeΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом Π² массивС. Π—Π°Ρ‚Π΅ΠΌ присваиваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ поля rawValue тСкстовому полю textView β€” ΠΈ всС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС. На эмуляторС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° эмуляторах ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ отсутствуСт сСрвис Google Play.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΎΡΡŒ Π½Π° устройствС, ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° qr.png, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² тСкстовом ΠΏΠΎΠ»Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² QR-ΠΊΠΎΠ΄ β€” это адрСс нашСго сайта fandroid.info.

Π­Ρ‚ΠΎ Π±Ρ‹Π» простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ Mobile Vision API. Но ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сканСр ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ устройства, ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π²ΡŒΡŽ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ прилоТСния Π½Π° Github, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΏΠΎ ссылкС.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ»ΠΈ скачайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Android Studio ΠΌΠΎΠ΄ΡƒΠ»ΡŒ barcode-reader.

ΠŸΡ€ΠΈ запускС прилоТСния ΠΈΠ· этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ открываСтся стартовый экран, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автофокус ΠΈΠ»ΠΈ Π²ΡΠΏΡ‹ΡˆΠΊΡƒ. Кнопка считывания ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° запускаСт ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отслСТиваСт появлСниС ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡ€Π΅Π²ΡŒΡŽ ΠΈ рисуСт Ρ€Π°ΠΌΠΊΠΈ Π½Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°Ρ…. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅Π²ΡŒΡŽ закрываСтся, пСрСдавая ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π° Π² тСкстовоС ΠΏΠΎΠ»Π΅ Π½Π° стартовом экранС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ смотритС Π² Π²ΠΈΠ΄Π΅ΠΎ.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Mobile Vision API. Но ΠΏΡ€ΠΈ рассмотрСнии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Android Studio ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄Π° здСсь побольшС, Ρ‡Π΅ΠΌ Π² нашСм простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· восьми классов. Π’Ρ€ΠΈ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° интСрфСйс ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ.

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этого ΡƒΡ€ΠΎΠΊΠ° ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС ΠΊΠΎΠ΄Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π° ΠΎΡΡ‚Π°Π²Π»ΡŽ это Π²Π°ΠΌ Π² качСствС домашнСго задания. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ прСкрасно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ содСрТит ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π° английском языкС. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, особСнно Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *