Как импортировать 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. Это заняло некоторое время, но теперь я могу использовать все классы, объявленные на ааре.
Надеюсь, что это помогло.