Розпізнавання штрих-коду андроїд. Найкращі програми для зчитування штрих кодів

09.10.2019 Програми

Дуже проста програма для автентифікації штрих-коду.

Ми так часто сьогодні купуємо всілякі товари, що іноді звертаємо увагу тільки на термін придатності (і якщо це харчовий продукт:)).

Однак на всіх речах існує безліч інших міток. Це і всілякі ГОСТи та номери товарів, і штрих-коди. Після розвалу Радянського Союзу всі колишні соціалістичні країни для того, щоб показати свою «просунутість», стали терміново переймати у Заходу все, що можна. Так у нашій країні на всьому, чим можна раптом з'явилися ці незрозумілі смугасті мітки.

Незважаючи на те, що штрихові коди з'явилися у нас лише наприкінці 80-х — на початку 90-х, придумані вони були в Америці ще в 50-х роках минулого століття. На сьогоднішній день найпоширенішою системою штрих-кодів є EAN-13.

Такий код складається з 13 цифр (звідси номер у назві кодування) та ряду вертикальних смуг різної ширини. Смуги розшифровуються лише за допомогою сканерів, а цифри ми можемо перевірити і самі.

Умовно ряд цифр коду EAN-13 можна розбити кілька частин: перші три цифри — код країни; наступні 4-6 цифр - реєстраційний номер підприємства-виробника; наступні 3–5 цифр – код товару та остання цифра – контрольне число.

Знаючи все це, можна легко перевірити відповідність номера на штрих-коді заявлених на упаковці даних про виробника. А для того, щоб не тягати із собою список кодів усіх країн, достатньо використати одну просту програмуBarCow.

Людина, яка створила цю програму, мабуть, керувалася принципом: «Все геніальне — просто». У цій програмі Ви не знайдете жодних налаштувань та меню. Більше того, програму не треба встановлювати. Достатньо розпакувати архів (а то й цього можна не робити) та BarCow готова до використання!

Інтерфейс BarCow

Вас спочатку може дещо здивувати дизайн програми, тому що її вікно має досить нетрадиційний вигляд, але Ви швидко звикнете:

Тут всього три кнопки: Exit - вимикає програму, Ok - запускає перевірку коду, а About викликає вікно довідки:

Як видно з довідки, програма вміє працювати не тільки зі стандартним кодуванням EAN-13, але і з менш поширеними стандартами, тому допоможе Вам розшифрувати будь-який штрих-код.

Робота з програмою

Для початку введіть у полі у головному вікні номер коду, який підлягає перевірці, а потім натисніть «Ok». У нижній частині вікна відобразиться результат, в якому буде присутня інформація про статус коду і, за його правильності, країна, якій він належить:

І перший перевірений код змусив мене насторожитися. Справа в тому, що я перевірив куплений досить давно диск з грою Diablo II, на якому було чітко написано, що він виготовлений в Україні (а саме там було вказано одну компанію з м. Харків). Але, як Ви могли бачити, код на фірмовій наклейці виявився німецьким:).

Вирішивши перевірити заради інтересу решту дисків, я натрапив у своїй колекції на ще один унікальний екземпляр:). Цього разу їм виявився караоке-диск із популярними колись піснями. Але якщо попередній код хоча б існував у природі (нехай і теоретично:)), то хто зробив цей відеодиск — загадка. Код виявився на 100% підробленим:

Висновки

Що тут ще сказати? Громадяни, будьте пильні:). Добре, якщо підроблений товар виявиться працездатним. А якщо це буде якась заморська їжа, то можна легко і в лікарню з отруєнням загриміти. Тому, якщо є підозра на те, що Вам підсунули "липу" - скачайте нехитру програму BarCow і перевірте номер штрих-коду покупки щоб розвіяти (або підтвердити) свої побоювання.

P.S. Дозволяється вільно копіювати та цитувати цю статтю за умови вказівки відкритого активного посилання на джерело та збереження авторства Руслана Тертишного.

P.P.S. Сьогодні комп'ютер допомагає аналізувати не лише штрих-коди, а й навіть психологічний вплив того чи іншого тексту на людину! Не вірите? Тоді скачайте ось цю програму:

У цьому уроці навчимося створювати програму для читання штрих-кодів і QR-кодів з використанням стандартної бібліотеки Mobile Vision API.

Ще з випуском Google Play services версії 7.8 розробники додали інтерфейси Mobile Vision, які забезпечують API виявлення штрих-коду. Вони зчитують та декодують безліч різних типів штрих-кодів, швидко, легко та локально.

Класи для виявлення та аналізу штрих-кодів доступні у просторі імен com.google.android.gms.vision.barcode. Основною робочою конячкою є клас BarcodeDetector. Він виконує обробку об'єктів Frame та повертає масив штрих-кодів SparseArray .

Тип Barcode є єдиним загальновизнаним штрих-кодом і його значенням. У випадку 1D-штрих-кодів, таких як коди UPC, це буде просто номер, який закодований у штрих-коді. Його значення доступне в полі rawValue, в той час як тип штрих-коду (тобто його кодування) можна знайти в полі format.

Для 2D штрих-кодів, які містять структуровані дані, такі як QR-коди - в полі valueFormat встановлюється певний тип значення, що відповідає полю даних. Так, наприклад, якщо виявлено тип URL , то поле valueFormat поверне константу URL, а об'єкт Barcode.UrlBookmark міститиме значення URL-адреси. Крім URL-адрес, існує безліч різних типів даних, які QR-код може зберігати. Наприклад, Поштова адреса, дату та час події календаря, захід у календарі, інформацію контакту, номер телефону, місцезнаходження на карті та інші дані, повний списокяких наводиться у документації. Посилання на документацію.

Використання в програмі Mobile Vision API дозволяє зчитувати штрих-коди у будь-якому положенні.

Важливо, що синтаксичний розбір всіх штрих-кодів виконується локально, тому вам не потрібно використовувати з'єднання з сервером для читання даних із коду. Наприклад, при зчитуванні лінійного штрих-коду PDF-417, який може вмістити до 1 КБ тексту, можна відразу отримати всю закодовану в ньому інформацію.

Отже, для розробки програми нам знадобиться:

  • Середовище розробки Android Studio
  • Смартфон на Android 4.2.2 або пізнішої версії
  • Остання версія Android SDK, включаючи компоненти SDK tools. Ви можете отримати його з допомогою Android SDK Manager в Android Studio.
  • Google Play Services SDK. Ви можете отримати його також у Android SDK Manager в Android Studio.

Створюємо новий проект у Android Studio. Під час створення вибираємо шаблон Empty Activity.

На наступному кроці переконайтеся, що програма може використовувати служби Google Play, до складу яких входить Mobile Vision API. Для цього потрібно оновити файл build.gradle вашого проекту.

У секції залежностей мають бути такі рядки. Обновіть Gradle за потреби.

Compile "com.android.support:appcompat-v7:25.0.0" compile "com.google.android.gms:play-services:9.8.0"

Служби Google Play часто оновлюються, і щоб отримати останню версію, у Android Studio виберіть інструменти > Android > SDK Manager.

Потім знайдіть рядок для сервісів Google Play і переконайтеся, що у вас встановлена ​​версія 26 і вище. Якщо ні, встановіть компонент.

Тепер створимо інтерфейс користувача.

В Android Studio виберіть папку res і відкрийте її вкладену папку layout. Тут ви побачите "activity_main.xml". Відкрийте його у редакторі макетів.

Ви можете бачити, що ваш макет містить текстове поле . Потрібно змінити макет, як показано нижче. Тепер тут буде окрім текстового поля також кнопка та зображення. Для всіх екранних компонентів прописуємо ідентифікатори, щоб потім звертатися до них у коді.