web-dev-qa-db-fra.com

Comment importer ZXING dans Android studio?

J'utilise Android studio je souhaite importer 'ZXING' dans mon application, je trouve de nombreux articles et trouve le site suivant

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

J'ai téléchargé le Zip et décompressez, et trouver quelques tutoriels Mais il ne semble pas être trop détaillé sur les détails, que dois-je importer? Pour réaliser un scan QRCode

Je ne sais toujours pas comment le faire


4/14 J'ai essayé l'URL de Lennon fournie "zxing-Android-minimal" et j'ai importé le 'gradle-wrapper.jar'

Mais quand j'ai écrit un nouvel IntentIntegrator (this) .initiateScan (); Apparaissent toujours le message "Impossible de résoudre le symbole" 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 =

J'ai un droit '.jar sélectionnez Ajouter en tant que bibliothèque, mais lorsqu'une erreur se produit, il ne semble pas être ajouté


4/10

Enfin n'apparaissent plus "Impossible de résoudre le symbole 'IntentIntegrator" c'est le code, que dois-je faire?

J'ai supprimé le nouveau IntentIntegrator (this) .initiateScan (); 'applications fonctionnement normal

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

mon 'build.greadle'

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

J'ai eu beaucoup de problèmes lorsque j'ai développé mon application à l'aide de la bibliothèque zxing. Jetez donc un œil à ce zxing minimal: https://github.com/Promptus/zxing-Android-minimal/tree/master

Cela fonctionnait parfaitement pour moi et était plus facile à mettre en œuvre.

ÉDITER:

Ouvrez ce fichier dans votre projet:

/gradle/wrapper/gradle-wrapper.properties

Modifiez la ligne distributionUrl et définissez-la également:

distributionUrl = http: //services.gradle.org/distributions/gradle-1.8-all.Zip Reconstruisez votre projet.

Mise à jour: vous voudrez peut-être utiliser gradle-2.1-all.Zip maintenant.

NOUVELLE MODIFICATION:

Tout d'abord, vous devez supprimer votre fichier libs. Ensuite, vous devez supprimer

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

de ton build.gradle of MyApplication, car ce gradle est pour l'ensemble du projet, et il vaut mieux que vous l'utilisiez dans chaque module.

Après cela, ouvrez le build.gradle du module app et ajoutez le code suivant:

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'

}

Et enfin, vous devez supprimer google.zxing.integration.Android de votre projet, sinon une erreur apparaîtra lors de la compilation.

MISE À JOUR:

Pour résoudre le problème du bouton de retour, vous pouvez effectuer le code suivant:

@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

Vous devez définir votre dépendance zxing dans le fichier build.gradle:

repositories {
    mavenCentral()
}

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

Il s'agit de la bibliothèque principale de codage/décodage de codes-barres que vous pouvez utiliser pour créer votre application de scanner/générateur de codes-barres personnalisé.

Si vous devez prendre en charge un simple cas de numérisation du code-barres, vous pouvez intégrer ZXing Android Application Barcode Scanner en utilisant ZXing Android Embedded projet.

Il s'agit d'un port de l'application ZXing Android Barcode Scanner en tant que projet de bibliothèque Android, pour l'intégration dans d'autres Android.

Si vous décidez d'utiliser le projet ZXing Android Embedded, c'est aussi simple que de définir vos dépendances dans le fichier 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'
}

Lancez l'intention avec les options par défaut:

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

Et obtenez votre résultat:

@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

Dans votre root-build.gradle:

repositories {
   mavenCentral()

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

Un dans votre 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'
}

Plus d'informations peuvent être trouvées ici: https://github.com/journeyapps/zxing-Android-embedded

5
Christopher

J'ai également rencontré le même problème et je l'ai résolu en suivant les étapes simples comme indiqué ci-dessous:

Importez le projet Android à partir du fichier Zip zxing-master Téléchargé à l'aide de l'option Import project (Eclipse ADT, Gradle, etc.) et ajoutez les 2 lignes de codes suivantes dans votre fichier de niveau d'application build.gradle Et et vous sont prêts à fonctionner.

Si simple, 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'

    }

Vous pouvez toujours trouver la dernière version core et Android core À partir des liens ci-dessous:

https://mvnrepository.com/artifact/com.google.zxing/core/3.2.1https://mvnrepository.com/artifact/com.google.zxing/Android- core/3.2.

3
Smeet

Après toutes les étapes expliquées par Lennon, je résous le problème de "Impossible de résoudre le symbole 'IntentIntegrator'" en allant au terminal sur Android Studio et assemblé gradlew. Cela a pris un certain temps mais maintenant je peux utiliser toutes les classes déclarées sur l'AAR.

J'espère que cela a aidé.

1
Matías Maddonni