Le projet ZXing fournit une application autonome de lecture de codes-barres qui, via le mécanisme d'intention d'Android, peut être appelée par d'autres applications qui souhaitent intégrer la lecture de codes-barres.
La manière la plus simple de le faire est d'appeler le ZXing SCAN
Intent
de votre application, comme ceci :
public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
};
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
En appuyant sur le bouton lié à mScan
se lancerait directement dans l'écran du scanner de codes-barres ZXing (ou se planterait si ZXing n'est pas installé). Une fois qu'un code-barres a été reconnu, vous recevrez le résultat dans votre boîte de réception. Activity
ici, dans le contents
variable.
Pour éviter le plantage et vous simplifier les choses, ZXing a a fourni une classe utilitaire que vous pourriez intégrer dans votre application pour faciliter l'installation de ZXing, en redirigeant l'utilisateur vers l'Android Market s'il ne l'a pas déjà installé.
Enfin, si vous souhaitez intégrer la lecture de codes-barres directement dans votre application sans avoir à installer l'application ZXing séparée, eh bien, c'est un projet open source et vous pouvez le faire ! :)
Edit : Quelqu'un a édité ce guide dans cette réponse (cela semble un peu bizarre, je ne peux pas me porter garant de son exactitude, et je ne suis pas sûr de savoir pourquoi ils utilisent Eclipse en 2015) :
Étape par étape pour configurer zxing 3.2.1 dans eclipse
- Téléchargez zxing-master.zip depuis " https://github.com/zxing/zxing "
- Dézippez zxing-master.zip, utilisez eclipse pour importer le projet "Android" dans zxing-master.
- Téléchargez core-3.2.1.jar à partir de " http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/ "
- Créez le dossier "libs" dans le projet "Android" et collez cor-3.2.1.jar dans le dossier libs.
- Cliquez sur le projet : choisissez "propriétés" -> "Compilateur Java" pour changer le niveau à 1.7. Ensuite, cliquez sur "Android" et changez "Project build target" en Android 4.4.2+, car l'utilisation de la version 1.7 nécessite une compilation avec Android 4.4.
- Si "CameraConfigurationUtils.java" n'existe pas dans "zxing-master/Android/app/src/main/java/com/google/zxing/client/Android/camera/". Vous pouvez le copier de "zxing-master/Android-core/src/main/java/com/google/zxing/client/Android/camera/" et le coller dans votre projet.
- Projet de nettoyage et de construction. Si votre projet montre une erreur à propos de "switch - case", vous devez les changer en "if - else".
- Complété. Nettoyer et construire le projet. Vous pouvez cliquer sur "Proprties" > "Android" > cliquer sur "Is Libraries" pour l'utiliser pour votre projet.
1 votes
Vérifiez ma réponse détaillée avec des captures d'écran et un exemple d'application Android.
0 votes
Le ZXing n'est pas la seule façon de lire un code-barres. Depuis 2016, il est beaucoup plus facile d'utiliser le API code-barres Android .
0 votes
J'ai fait un code pour générer et scanner des codes barres. Vous pouvez suivre ceci pour obtenir le code étape par étape. stackoverflow.com/a/58742737/11613683