バーコードスキャンのためにZXingライブラリをAndroid Studioに統合するにはどうすればいいですか? 質問する

バーコードスキャンのためにZXingライブラリをAndroid Studioに統合するにはどうすればいいですか? 質問する

zxing ライブラリをプロジェクトに組み込む方法をインターネットで調べていたところ、次のチュートリアルを見つけました。http://blog.dihaw.com/integrating-zxing-in-your-android-app-as-standalone-scanner/

しかし、BeepManager をチェックして R インポートを追加する必要のある段階に達すると、プロジェクトで (MainActivity でも) R が見つからないというあらゆる種類のエラーが発生します。

これも見つけたhttps://github.com/journeyapps/zxing-android-embedded/blob/master/README.mdこれは Gradle によって自動的に統合されたため、非常に簡単に思えましたが、同期すると、ファイルが見つからないというエラーが表示されます。

どのような助けでもいただければ幸いです :) 私は Android Studio を初めて使用します。

編集:

2 番目の方法 (Gradle 設定を含む方法) の設定を build.gradle に追加すると、4 つのエラー ポップアップが表示されます。

Error:Failed to find: com.embarkmobile:zxing-android-legacy:2.0.0 
Error:Failed to find: com.google.zxing:core:3.0.1 
Error:Failed to find: com.embarkmobile:zxing-android-integration:2.0.0 
Error:Failed to find: com.embarkmobile:zxing-android-minimal:2.0.0

何か助けて?

- -答え - -

この問題を解決するには、Gradle でオフライン作業を無効にする必要がありました。

  • Android Studioの設定>Gradle>「オフライン作業」のチェックを外す

ベストアンサー1

ファイルに次の内容を追加する必要がありますbuild.gradle:

repositories {
    mavenCentral()

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

dependencies {
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar'

    // 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:2.0.1@aar'

    // Convenience library to launch the scanning and encoding 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:2.0.1@aar'

    // 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.0.1'
}

私のbuild.gradleファイルは次のようになります:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.myapplication2"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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'
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'

    // 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.embarkmobile:zxing-android-legacy:2.0.0@aar'

    // Convenience library to launch the scanning and encoding Activities.
    // It automatically picks the best scanning library from the above two, depending on the
    // Android version and what is available.
    compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'

    // 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.0.1'
}

コードはここ

また、使い方については、Stackoverflowの私の回答を参照してください。ここ

メソッドと、私がテストした簡単なコードも含まれています。

おすすめ記事