Как импортировать ZXING в студию Android?

Я использую Android-студию Я хочу импортировать "ZXING" в мое приложение, я нахожу много статей и нашел следующий сайт

https://github.com/zxing/zxing/

Я загрузил ZIP и разархивировал, и нашел несколько уроков Но, похоже, это не слишком подробно о деталях, что мне нужно импортировать? Чтобы выполнить сканирование QRCode

Я до сих пор не знаю, как это сделать


4/14 Я попробовал URL-адрес Леннона "ZXing-андроид-минимален" И импортируйте 'gradle -wrapper.jar'

Но когда я написал новый IntentIntegrator (this).initiateScan(); Все еще отображается "Не удается разрешить сообщение" IntentIntegrator "символа

https://www.dropbox.com/s/2srga9iq75iqe4m/%E8%9E%A2%E5%B9%95%E6%88%AA%E5%9C%96%202015-04-10%2001.33.56.png?dl=0

У меня есть право..jar выберите Add As Library Но когда возникает ошибка, он, кажется, не добавляется


4/10

Наконец, больше не отображается "Не удается разрешить символ" IntentIntegrator " это код, что я не так?

Я удалил новый IntentIntegrator (this).initiateScan(); 'нормальная работа приложений

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    new IntentIntegrator(this).initiateScan();
}

my 'build.greadle

    repositories {
    jcenter()
    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}

Ответ 1

У меня было много проблем, когда я разработал свое приложение, используя библиотеку zxing. Итак, посмотрите, что zxing минимальный: https://github.com/Promptus/zxing-android-minimal/tree/master

Он отлично работал у меня и был проще реализовать.

EDIT:

Откройте этот файл в своем проекте:

/gradle/обертку/gradle -wrapper.properties

Измените строку distributionUrl и установите ее:

distributionUrl = HTTP://services.gradle.org/distributions/gradle -1.8-all.zip Перестройте свой проект.

Обновление. Возможно, вы захотите использовать gradle -2.1-all.zip.

NEW EDIT:

Прежде всего, вы должны удалить свой файл libs. Затем вам нужно удалить

mavenCentral()
    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }

из build.gradle MyApplication, потому что gradle предназначен для всего проекта, и лучше использовать его в каждом модуле.

После этого откройте build.gradle модуля app и добавьте следующий код:

repositories {
    mavenCentral()

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'

    // Zxing libraries
    compile 'com.embarkmobile:zxing-android-minimal:[email protected]'
    compile 'com.embarkmobile:zxing-android-integration:[email protected]'
    compile 'com.google.zxing:core:3.0.1'

}

И, наконец, вам нужно удалить google.zxing.integration.android из вашего проекта, иначе ошибка будет отображаться при компиляции.

UPDATE:

Чтобы устранить проблему с кнопкой "Назад", вы можете сделать следующий код:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {

        String _code = data.getStringExtra("SCAN_RESULT");

        // do whatever you want

    }

}

Ответ 2

Вы должны определить свою зависимость zxing в файле build.gradle:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.google.zxing:core:3.2.0'
}

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

Если вам нужно поддерживать простой пример сканирования штрих-кода, вы можете вставлять приложение ZXing Android Barcode Scanner с помощью проекта ZXing Android Embedded.

Это порт приложения ZXing Android Barcode Scanner в качестве проекта библиотеки Android для внедрения в другие приложения для Android.

Если вы решите использовать проект ZXing Android Embedded, это так же просто, как определить ваши зависимости в файле build.gradle:

repositories {
    mavenCentral()

    maven {
        url "http://dl.bintray.com/journeyapps/maven"
    }
}

dependencies {
    compile 'com.journeyapps:zxing-android-embedded:[email protected]'
    compile 'com.journeyapps:zxing-android-legacy:[email protected]'
    compile 'com.journeyapps:zxing-android-integration:[email protected]'
    compile 'com.google.zxing:core:3.2.0'
}

Запустите намерение с настройками по умолчанию:

new IntentIntegrator(this).initiateScan(); // `this` is the current Activity

И получите свой результат:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    switch (requestCode) {
    case IntentIntegrator.REQUEST_CODE:
        if (resultCode == Activity.RESULT_OK) {
            // Parsing bar code reader result
            IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
        }
        break;
    }
}

Ответ 3

В файле root-build.gradle:

repositories {
   mavenCentral()

   maven {
      url "http://dl.bintray.com/journeyapps/maven"
   }
}

An в вашем приложении-build.gradle:

dependencies {
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.journeyapps:zxing-android-embedded:[email protected]'

    // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
    // If you only plan on supporting Android 4.0.3 and up, you don't need to include this.
    compile 'com.journeyapps:zxing-android-legacy:[email protected]'

    // Convenience library to launch the scanning Activities.
    // It automatically picks the best scanning library from the above two, depending on the
    // Android version and what is available.
    compile 'com.journeyapps:zxing-android-integration:[email protected]'

    // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
    // This mostly affects encoding, but you should test if you plan to support these versions.
    // Older versions e.g. 2.2 may also work if you need support for older Android versions.
    compile 'com.google.zxing:core:3.2.0'
}

Более подробную информацию можно найти здесь: https://github.com/journeyapps/zxing-android-embedded

Ответ 4

Я также столкнулся с той же проблемой, и я разрешил ее, выполнив простые шаги, как показано ниже:

Импортируйте проект android из загруженного zip файла zxing-master, используя опцию Import project (Eclipse ADT, Gradle, etc.), и добавьте 2 строки кодов в вашем файле уровня приложения build.gradle, и вы готовы к запуску.

Так просто, yahh...

dependencies {
        // https://mvnrepository.com/artifact/com.google.zxing/core
        compile group: 'com.google.zxing', name: 'core', version: '3.2.1'
        // https://mvnrepository.com/artifact/com.google.zxing/android-core
        compile group: 'com.google.zxing', name: 'android-core', version: '3.2.0'

    }

Вы всегда можете найти последнюю версию core и android core ниже ссылок:

https://mvnrepository.com/artifact/com.google.zxing/core/3.2.1 https://mvnrepository.com/artifact/com.google.zxing/android-core/3.2.0

Ответ 5

После всех шагов, описанных Ленноном, я разрешаю проблему "Не удается разрешить символ IntentIntegrator", перейдя на терминал в Android Studio и набрав команду gradlew. Это заняло некоторое время, но теперь я могу использовать все классы, объявленные на ааре.

Надеюсь, что это помогло.