Android – Сканирование штрих-кодов, параметры? ZXing?

Я хочу создать приложение для Android, которое сможет сканировать штрих-коды, получать информацию, содержащуюся в штрих-коде, и затем иметь возможность использовать эту информацию в некотором роде.

Я понятия не имею, как создать сканер штрих-кода, поэтому я пошел в Google и, похоже, Zxing является наиболее часто используемым способом реализации сканера штрих-кода в приложении.

Некоторые ссылки:


http://code.google.com/p/zxing/

http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/

Использование ZXing для создания приложения для сканирования штрих-кода для Android


Однако образцы, которые я нашел на zxing, требуют пригласить пользователя выйти на рынок и установить сканер штрих-кода zxing, чтобы мое приложение затем могло вызвать сканер штрих-кода, когда это необходимо, и сканер штрих-кода затем вернет информацию в мое приложение.

Хотя это было бы хорошей отправной точкой для меня, мне было интересно, есть ли другие варианты, которые позволили бы мне иметь сканер штрих-кода, встроенный в мое собственное приложение, без необходимости запрашивать у пользователя загрузку вторичного приложения?

Solutions Collecting From Web of "Android – Сканирование штрих-кодов, параметры? ZXing?"

Разработчик здесь. Я думаю, вы захотите просто интегрироваться через Intent в конце. Вы получаете бесплатные исправления, исправления ошибок и обходные решения для конкретной платформы. Это намного меньше кода. Но я понимаю, что вы просите альтернативу.

Вероятно, вы захотите разбить сканер штрих-кода (источник которого находится в android / в проекте) и вырезать все, что вам не нужно. Это означает, что вы можете оставить только пакеты com.google.zxing.client.android и com.google.zxing.client.android.camera . Ядро декодирования находится в DecodeThread , но другой код в этих пакетах реализует небольшой танец обратного вызова, который выполняет непрерывное сканирование и получает обычный интерфейс сканирования.

Если вы вставляете код, вам необходимо следовать условиям лицензии Apache .

Загрузите и расширьте приложение «Штрих-код сканера Zxing», добавив свой собственный код. Это под лицензией Apache 2.0.

Ознакомьтесь с новым API-интерфейсом Google Play Services 7.8, который включает отслеживание штрих-кодов: https://developers.google.com/vision/barcodes-overview

Я предлагаю вам использовать Zxing через намерения и перенаправить на страницу Android Market ( "market://details?id=com.google.zxing.client.android" ), если ее там нет (catching ActivityNotFoundException ). Умения отлично подходят для коммуникаций между приложениями.

Я работаю с этим:

 repositories { mavenCentral() maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } } compile 'com.google.zxing:core:3.2.1' compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar' compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar' 

Я рекомендую использовать IntentIntegrator

 IntentIntegrator integrator = new IntentIntegrator(getActivity()); integrator.forSupportFragment(this).initiateScan(); 

Код запроса возвращается с

 IntentIntegrator.REQUEST_CODE 

Нет необходимости устанавливать отдельный сканер

Я рекомендую использовать сканирование штрих-кода google. Это довольно отзывчиво. Он называется Google Mobile Vision.

API сканера штрих-кода обнаруживает штрих-коды в реальном времени в любой ориентации. Вы также можете одновременно обнаруживать и анализировать несколько штрих-кодов в разных форматах.

https://developers.google.com/vision/

https://codelabs.developers.google.com/codelabs/bar-codes/#0