ÉVÉNEMENT À VENIR: Bâtir pour l'avenir 2019 | Honeywell - Miami, FL - novembre 14-16, 2019

Blogs

Traversée de codes à barres

Code à barres sur Android

zxing_zebra_logo
La plupart du temps, les employés de Telaeris publient ici des exemples concrets liés à nos produits. Cela nous permet de discuter d'un large éventail de sujets, y compris l'utilisation des codes à barres et de la RFID, la mise en œuvre d'un système de sécurité ou de sécurité ou des conseils sur la gestion d'une entreprise. Mais au cœur de ce que nous faisons, c’est de trouver des solutions soignées pour des problèmes épineux. Les quelques articles suivants illustrent comment deux stagiaires de Telaeris ont commencé à créer un nouveau produit mobile gratuit pour le suivi des codes à barres et des étiquettes RFID à partir de votre appareil mobile Android ou iPhone. Le système s'appelle DataLockr et vient d'être lancé - je vous recommande vivement de consulter l'application et le système. Ce qu’ils décrivent dans cet article sont les premières étapes de la création d’une application de lecture de codes à barres simple à l’aide de la bibliothèque open source Zxing pour Android.

Ce blog est destiné aux pirates informatiques qui aiment coder. Prendre plaisir!

Implémentation d'une bibliothèque Zxing simplifiée
Pendant que nous allions apprendre à utiliser le logiciel Zxing bibliothèque, nous avons vite découvert que c’était un peu gênant d’essayer de comprendre ce qui se passait dans cette immense bibliothèque. Il y avait beaucoup de tutoriels là-bas, mais beaucoup d'étapes nous ont déroutés ou étaient obsolètes. Il manquait des éléments dans le code ou des éléments différents en fonction de la version de la bibliothèque ou des éléments non clarifiés. Nous voulions créer un didacticiel qui aiderait tous ceux qui tentent de mettre en œuvre une bibliothèque de numérisation Zxing simple à commencer à l’utiliser au sein de leur propre application.

Ce tutoriel utilise une version démolie de la bibliothèque Zxing pour enseigner les bases de la mise en œuvre de la bibliothèque dans une application autonome et le déploiement de votre propre application Android native. Nous utilisons le kit de développement Android utilisant le SDK 19, la bibliothèque Android 4.4. La bibliothèque a été modifiée pour devenir un lecteur de codes à barres en mode portrait plutôt que l'orientation horizontale par défaut.

Vous pouvez télécharger notre version simplifiée de la bibliothèque Zxing à utiliser et à tester ici: CaptureActivity. Ceci est différent de la bibliothèque ZXing publiée, mais il est bon de vous aider à démarrer.

Si vous n’avez pas Eclipse avec le SDK Android, téléchargez et installez le Kit de développement Android. Ouvrez le SDK Android et installez les composants nécessaires. Ensuite, ouvrez Eclipse.

Étape 1. Nous allons d'abord créer le projet.

Aller au menu du haut Fichier -> Nouveau -> Projet d'application Android. Nommez votre projet (nous avons appelé notre «application scanner»). Copiez les paramètres ci-dessous et cliquez sur les heures 3 suivantes jusqu'à la page de création d'activité. Choisissez Activité vide et cliquez sur Suivant puis sur Terminer. Le dossier apparaîtra sur le côté gauche de l'écran par défaut. Sinon, cliquez sur le bouton Agrandir pour ouvrir l'écran de projet dans Eclipse.

Traversée de codes à barres

Étape 2. Corrigez les erreurs de thème (si vous n'en avez pas, passez à l'étape 3)

Si vous rencontrez des erreurs dans vos dossiers de valeurs, il peut s'agir d'un problème Eclipse. Ouvrez toutes les pages style.xml et supprimez toutes les balises de style et son contenu. Également aller à votre AndroidManifest.xml et supprimer l'androïde: thème = "@ style / AppTheme" sous l'application.

Étape 3. Suivant consiste à importer la bibliothèque de scanner.

Si vous ne l'avez pas encore fait, téléchargez le fichier zip de CaptureActivty ci-dessus. Aller à Fichier -> Importer -> Importer le code Android existant dans Workspace -> et ouvrir parcourir et trouvez le code source Zxing que vous avez téléchargé. Cochez uniquement le premier projet appelé CaptureActivity. Le chemin ne doit pas contenir build / in it. Cliquez sur Terminer. Clic droit sur le / CaptureActivity / Dossier dans l'onglet Explorateur de packages et cliquez sur propriétés -> Android et assurez-vous que la case «Is Library» est cochée. Cliquez sur OK.

Étape 4. Nous devons maintenant connecter notre application à la bibliothèque de scanners.

Cliquez avec le bouton droit sur le dossier de votre application Android, puis cliquez sur propriétés -> Android. Cliquez sur le bouton Ajouter, puis sur CaptureActivity. Assurez-vous qu'une coche verte apparaît après que vous avez cliqué sur OK sur l'écran Android avec le scanner de projet. Cliquez sur OK.

Étape 5 : Nous pouvons maintenant commencer à implémenter le scanner dans notre application. Commencez avec le fichier mainActivity.java.

Dans votre dossier d'applications, accédez à / src / dossier et ouvrez votre mainActivity.java fichier. Vous trouverez ci-dessous le code nécessaire. Copiez et collez ce que vous n'avez pas. Le code que vous devrez ajouter sera en texte rouge. Si vous obtenez des erreurs, vous devrez importer certaines classes. vous pouvez simplement appuyer sur Ctrl + Maj + O, et toutes les importations nécessaires seront importées.



package com.example.scannerapp; importer android.app.Activity; importer android.content.Intent; importer android.os.Bundle; importer android.view.Menu; importer android.view.View; importer android.widget.Toast; Classe publique MainActivity étend Activity {@Override protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } @Override public boolean onCreateOptionsMenu (menu menu) {// Gonfle le menu; Cela ajoute des éléments à la barre d’action si elle est présente. getMenuInflater () .flate (R.menu.main, menu); retourne vrai; } P ublic openScanner void (Voir vue) {intention d'intention = new intention ( "com.example.scannerapp.SCAN"); startActivityForResult (intent, 0000); } public void onActivityResult (int requestCode, int resultCode, intention d'intention) {if (requestCode == 0000) {if (resultCode == RESULT_OK) {String contents = intent.getStringExtra ("SCAN_RESULT"); Toast.makeText (this, contenu, 0) .show (); } else if (resultCode == RESULT_CANCELED) {// Traitement de l'annulation}}} }} 

Il y a deux fonctions clés ici:

  1. La méthode openScanner s'exécute lorsqu'un bouton est enfoncé et ouvre ensuite le scanner.
  2. La méthode onActivityResult renvoie la chaîne du code à barres lu. À partir de là, vous pouvez ouvrir une nouvelle intention et transmettre des variables si vous souhaitez afficher un autre écran après votre analyse.

Étape 6.Nous allons maintenant modifier la disposition dans le fichier activity_main.xml.

Maintenant dans votre / app / dossier, allez à dossier res -> mise en page -> fichier activity_main.xml. Cela devrait ressembler à ce qui suit. Ajoutez le code rouge suivant:


<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" Android: paddingBottom = "@ dimen / activity_vertical_margin" android: paddingLeft = "@ dimen / activity_horizontal_margin" android: paddingRight = "@ dimen / activity_horizontal_margin" android: paddingTop = "@ dimen / activity_calgin" MainActivity "> <Button android: id =" @ + id / button0000 "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: layout_below =" @ + id / textView0000 "android: layout_centerHorizontal:" true "et: layout_marginTop = "1dp" android: text = "Scan" android: onClick = "openScanner" /> </ RelativeLayout>

Ceci ajoute un bouton et, une fois appuyé, lancera la méthode openScanner à partir du mainActivity.java fichier. Vous devrez peut-être aussi choisir un thème. J'ai choisi Theme.holo.

Étape 7 : La dernière modification consiste à modifier le fichier androidManifest.xml.

Allez à androidManifest.xml fichier sous le répertoire du projet. Le code doit ressembler à ce qui suit et copier à nouveau le code rouge



<? xml version = "1.0" encoding = "utf-8"?> <manifest xmlns: android = "http://schemas.android.com/apk/res/android" package = "com.example.scannerapp" android : versionCode = "1" android: versionName = "1.0"> <uses-sdk android: minSdkVersion = "8" android: targetSdkVersion = "21" /> <- AUTORISATIONS REQUISES DE ZXING -> <uses-permission android : name = "android.permission.CAMERA" /> <uses-permission android: name = "android.permission.INTERNET" /> <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> <! - CARACTÉRISTIQUES REQUISES PAR ZXING -> <utilisations-feature android: name = "android.hardware.camera" android: required = "true" /> <utilisations-feature android: name = "android.hardware.touchscreen" android: required = "false" /> <utilise-feature android: name = "android.hardware.telephony" android: required = "false" /> <application android: allowBackup = "true" android: icon = "@ drawable / ic_launcher" android: label = "@ string / app_name" android: theme = "@ style / AppTheme"> <activité android: name = "com.example.scannerapp.Ma inActivity "android: label =" @ string / app_name "> <filtre d'intention> <action android: name =" android.intent.action.MAIN "/> <catégorie android: name =" android.intent.category.LAUNCHER " /> </ intent-filter> </ activity> <activity android: name = "com.telaeris.datalockrScanner.android.CaptureActivity" android: screenOrientation = "portrait" android: configChanges = "orientation | keyboardHidden" android: theme = " @android: style / Theme.NoTitleBar.Fullscreen "android: windowSoftInputMode =" stateAlwaysHidden "> <intention-filter> <action android: name =" android.intent.category.MAIN "/> <catégorie android: name =" android. intent.category.LAUNCHER "/> </ intent-filter> <intention-filter> <action android: name =" com.example.scannerapp.SCAN "/> <catégorie android: name =" android.intent.category.DEFAULT "/> </ intent-filter> </ activity> </ application> </ manifest>

Nous ajoutons les autorisations nécessaires à l’utilisation de l’appareil photo par Android, y compris des activités, pour savoir quels fichiers ouvrir lorsque nous voulons ouvrir le scanner sur l’appareil.

Étape 8. Terminé!

Vous devriez maintenant pouvoir compiler et exécuter votre application sur un périphérique. S'il y a des erreurs de compilation, vous pouvez vouloir nettoyer le projet et / ou redémarrer eclipse.


Merci
Ce blog doit beaucoup à beaucoup de gens:

  • Alberto Landaverde, qui a été stagiaire avec Telaeris l'été de 2012, qui a modifié la bibliothèque Zxing et construit la bibliothèque simplifiée initiale
  • Kelly Lim, actuellement stagiaire chez Telaeris, qui a pris cette bibliothèque et l’a dépassée pour construire le DataLockr App Android. Kelly a également écrit le contenu de ce blog.
  • Jake Pham, actuel stagiaire chez Telaeris, a suivi le tutoriel ici pour s'assurer que tout fonctionnait comme prévu.

Restez à l'écoute pour le prochain épisode au cours duquel nous expliquerons comment numériser la bibliothèque ZXing en mode portrait et en mode paysage. Et si vous avez le temps, jetez un coup d'œil au produit de tous leurs efforts - DataLockr.

DataLockrLogo
Être vu. Être scanné. Être partagé.

Laissez Un Commentaire

*

Newsletters


nous pouvons aider avec rfid

Contactez-Nous

Téléphone: 858-627-9700
Fax: 858-627-9702
-------------------------------
9123 Chesapeake Dr.
San Diego, CA 92123
-------------------------------
sales@telaeris.com