Подтвердить что ты не робот

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, чтобы мое приложение затем могло вызвать сканер штрих-кода, когда это необходимо, и сканер штрих-кода затем вернет информацию в мое приложение.

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 4

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

Ответ 5

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

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:[email protected]'
compile 'com.embarkmobile:zxing-android-integration:[email protected]'

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

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

RequestCode возвращается с

IntentIntegrator.REQUEST_CODE

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

Ответ 6

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

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

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

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

Ответ 7

Я рекомендую использовать https://github.com/RahulRawat95/RScannerView библиотеку, созданную поверх штрих-кода Firebase Vision. Проще интегрировать и использовать.