Чтение штрих-кодов с помощью Android
-
19-09-2019 - |
Вопрос
Привет, я разрабатываю приложение для Android HTC Hero.Я ищу способы использования встроенной камеры для чтения 2D-штрих-кодов и извлечения строки, возвращаемой из штрих-кода.Я только недавно начал работать с Android SDK, но у меня есть опыт программирования, связанный с работой над проектами с использованием Java.Мне любопытно узнать, как лучше всего читать 2D-штрих-код.У меня есть несколько примеров приложений, которые считывают штрих-код, но все они представляют собой файлы .apk и не имеют исходного кода или библиотеки, с которой я мог бы работать.чтобы дать вам лучшее представление о том, чего я пытаюсь достичь, этот сайт позволяет генерировать 2D-штрих-коды, состоящие из нужных вам данных. здесь
Любые ответы будут очень признательны.
Решение
Программы Android могут взаимодействовать друг с другом с помощью намерений.Намерения немного похожи на удаленные вызовы процедур:вы запрашиваете у другой программы определенное действие (например.отсканируйте штрих-код), и другая программа выполнит эту задачу за вас.Результат возвращается после завершения задачи.
Если пользователь установил сканер штрих-кода ZXing, вы можете просто использовать намерение для сканирования штрих-кода.Затем запустится сканер штрих-кода, который позволит пользователю отсканировать код и вернуть вам результат.
Более подробную информацию об этом сканере можно найти на странице Google Code этого проекта: http://code.google.com/p/zxing/wiki/ScanningViaIntent
Другие советы
Я бы посмотрел на этот проект Android с открытым исходным кодом: http://code.google.com/p/zxing/
Для коллег по поиску Google в блоге разработчиков Android за 2012 год есть сообщение о том, как использовать намерения на примере сканирования штрих-кода:
http://android-developers.blogspot.com/2012/02/share-with-intents.html
Насколько я знаю, для декодирования штрих-кодов (помимо алгоритма) необходимо знать (относительную) ширину белых и черных полос.Для этого вам придется повернуть штрих-код в горизонтальное положение, а затем определить ширину.
(Хорошо, материал ZXIng, рекомендованный другими, превосходит этот ручной взлом)