Использование ZXing для создания приложения сканирования штрих-кодов android [дубликат]



этот вопрос уже есть ответ здесь:



Я искал о том, как добавить сканер штрих-кода в мое приложение. Кто-нибудь знает какие-либо примеры или знает, как это сделать легко?

890   7  

7 ответов:

проект ZXing предоставляет автономное приложение для чтения штрих-кодов, которое-через механизм намерения Android-может быть вызвано другими приложениями, которые хотят интегрировать сканирование штрих-кодов.

самый простой способ сделать это-вызвать ZXing SCANIntent из приложения такой:

public Button.OnClickListener mScan = new Button.OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(intent, 0);
    }
};

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents = intent.getStringExtra("SCAN_RESULT");
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
            // Handle successful scan
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}

нажатие кнопки, связанной с mScan запустится непосредственно в экран сканера штрих-кода ZXing (или сбой, если ZXing не установлен). Один раз а штрих-код был распознан, вы получите результат в вашем Activity, здесь contents переменной.

чтобы избежать сбоев и упростить вещи для вас, ZXing есть предоставляется служебный класс который вы можете интегрировать в свое приложение, чтобы сделать установку ZXing более плавной, перенаправив пользователя на Android Market, если он еще не установлен.

наконец, если вы хотите интегрировать сканирование штрих-кодов прямо на вашем приложение, не полагаясь на то, что установлено отдельное приложение ZXing, ну тогда это проект с открытым исходным кодом, и вы можете это сделать! :)


Edit: кто-то отредактировал это руководство в этот ответ (это звучит немного странно, я не могу ручаться за его точность, и я не уверен, почему они используют Eclipse в 2015 году):

шаг за шагом, чтобы настроить zxing 3.2.1 в eclipse

  1. скачать zxing-master.zip from "https://github.com/zxing/zxing"
  2. распаковать zxing-master.zip, используйте eclipse для импорта проекта "android" в zxing-master
  3. загрузка ядра-3.2.1.баночка из "http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/"
  4. создайте папку "libs" в проекте "android" и вставьте cor-3.2.1.jar в папку libs
  5. нажмите на проект: выберите "Свойства" - > "компилятор Java", чтобы изменить уровень на 1.7. Затем нажмите на кнопку "Android" изменить "цель сборки проекта" на android 4.4.2+, потому что использование 1.7 требует компиляции с Android 4.4
  6. Если " CameraConfigurationUtils.Ява" не существует в "кодом ZXing-мастер/андроид/приложение/src/главная/Java и COM/Гугл/приложению/клиента/планшет/камеры/". Вы можете скопировать его с "кодом ZXing-мастер/андроид ядро/src/главная/Java и COM/Гугл/приложению/клиента/планшет/камеры/" и вставить в свой проект.
  7. очистить и собрать проект. Если ваш проект показывает ошибку о "switch-case", вы должны измените их на "ЕСЛИ - ТО".
  8. завершено. Чистый и построить проект. Вы можете нажать на "химические свойства" > "телефон" > нажмите на "библиотеки", чтобы использовать для вашего проекта.

у меня была проблема с внедрением кода, пока я не нашел какой-то сайт (я не могу найти его снова прямо сейчас), который объяснил, что вам нужно включить имя пакета в имя намерения.putExtra.

он вытащил бы приложение, но не распознал бы штрих-коды, и когда я изменил его.

intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

до

intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");

Он работал отлично. Просто совет для любого другого начинающего программиста andorid.

использование предоставленного IntentInegrator лучше. Это позволяет вам предложить пользователю установить сканер штрих-кода, если у них его нет. Он также позволяет настраивать сообщения. Интент-Интегратор.Константа REQUEST_CODE содержит значение кода запроса для onActivityResult для проверки в приведенном выше блоке if.

IntentIntegrator intentIntegrator = new IntentIntegrator(this); // where this is activity 
intentIntegrator.initiateScan(IntentIntegrator.ALL_CODE_TYPES); // or QR_CODE_TYPES if you need to scan QR

IntentIntegrator.java

Если вы хотите включить в свой код и не использовать IntentIntegrator, который рекомендует библиотека Zxing, вы можете использовать некоторые из этих портов

http://code.google.com/p/android-zxinglib/

http://code.google.com/p/android-quick-response-code/

Я использую первый и работает идеально! Это пример проекта, чтобы попробовать его

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

Я настоятельно рекомендую использовать эту библиотеку: https://github.com/dm77/barcodescanner

Он принимает все сумасшедшие проблемы сборки вы собираетесь запустить в попытке интегрировать Xzing или Zbar напрямую. Он использует эти библиотеки под обложками, но обертывает их в очень простой в использовании ПРИКЛАДНОЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС.

обнаружение штрих-кода теперь доступно в Google Play services. Code lab процесса установки, вот api docs и пример проекта.

вы можете использовать это краткое руководство http://shyyko.wordpress.com/2013/07/30/zxing-with-android-quick-start/ с простым примером проекта для создания android-приложения без IntentIntegrator.

Comments

    Ничего не найдено.