web-dev-qa-db-ja.com

ZXINGをAndroid studioにインポートするには?

Android studio私は私のアプリケーションに「ZXING」をインポートしたい、私は多くの記事を見つけ、次のサイトを見つけました

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

Zipをダウンロードして解凍し、いくつかのチュートリアルを見つけましたが、インポートする必要がある詳細についてはあまり詳しくないようです。 QRCodeスキャンを達成するには

どうすればいいのかまだ分かりません


4/14「zxing-Android-minimal」が提供されたLennon URLを試し、「gradle-wrapper.jar」をインポートしました

しかし、私が新しいIntentIntegrator(これ)を書いたとき、.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 =

私は正しい「.jar」を選択してライブラリとして追加を選択しますが、エラーが発生すると、彼は追加されていないようです


4/10

最後に「シンボル 'IntentIntegratorを解決できません」というコードが表示されなくなりました。

新しいIntentIntegrator(これ).initiateScan()を削除しました。 'アプリケーションの通常動作

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

私の「build.greadle」

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

Zxingライブラリを使用してアプリを開発したときに、多くの問題が発生しました。このzxingミニマルを見てください: https://github.com/Promptus/zxing-Android-minimal/tree/master

私には完璧に機能し、実装も簡単でした。

編集:

プロジェクトでこのファイルを開きます。

/gradle/wrapper/gradle-wrapper.properties

DistributionUrl行を編集して、それも設定します。

distributionUrl = http://services.gradle.org/distributions/gradle-1.8-all.Zipプロジェクトをリビルドします。

更新:gradle-2.1-all.Zipをすぐに使用したい場合があります。

新しい編集:

まず、libsファイルを削除する必要があります。その後、削除する必要があります

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

build.gradle of MyApplicationから。そのgradleはプロジェクト全体用であり、各モジュールで使用する方が良いためです。

その後、モジュールappbuild.gradleを開き、次のコードを追加します。

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:2.0.0@aar'
    compile 'com.embarkmobile:zxing-Android-integration:2.0.0@aar'
    compile 'com.google.zxing:core:3.0.1'

}

最後に、プロジェクトからgoogle.zxing.integration.Androidを削除する必要があります。削除しないと、コンパイル時にエラーが表示されます。

更新:

戻るボタンの問題を解決するには、次のコードを実行できます。

@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

    }

}
9
Lennon Petrick

Build.gradleファイルでzxingの依存関係を定義する必要があります。

repositories {
    mavenCentral()
}

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

これは、カスタムバーコードスキャナー/ジェネレーターアプリの構築に使用できるコアバーコードエンコード/デコードライブラリです。

バーコードをスキャンする簡単なケースだけをサポートする必要がある場合は、ZXing Android 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 {
    implementation 'com.journeyapps:zxing-Android-embedded:2.3.0@aar'
    implementation 'com.journeyapps:zxing-Android-legacy:2.3.0@aar'
    implementation 'com.journeyapps:zxing-Android-integration:2.3.0@aar'
    implementation '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;
    }
}
8
krebernisak

Root-build.gradleで:

repositories {
   mavenCentral()

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

App-build.gradleで:

dependencies {
    // Supports Android 4.0.3 and later (API level 15)
    compile 'com.journeyapps:zxing-Android-embedded:2.3.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.journeyapps:zxing-Android-legacy:2.3.0@aar'

    // 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:2.3.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.2.0'
}

詳細については、こちらをご覧ください: https://github.com/journeyapps/zxing-Android-embedded

5
Christopher

私も同じ問題に遭遇しました。以下に示す簡単な手順に従って解決しました。

ダウンロードした_zxing-master_ ZipファイルからプロジェクトAndroidをオプションImport project (Eclipse ADT, Gradle, etc.)を使用してインポートし、アプリレベル_build.gradle_ファイルにドローイング2行のコードを追加します。走る。

とても簡単です.

_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.1https://mvnrepository.com/artifact/com.google.zxing/Android- core/3.2.

3
Smeet

Lennonによって説明されたすべての手順の後、Android Studioで端末に移動してgradlew assembleと入力することにより、「シンボル 'IntentIntegrator'を解決できません」という問題を解決しました。これで、AARで宣言されたすべてのクラスを使用できます。

お役に立てば幸いです。

1