DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Développer un lecteur de code-barres pour vous simplifier la vie
    Uncategorized

    Développer un lecteur de code-barres pour vous simplifier la vie

    mars 16, 2023
    Développer un lecteur de code-barres pour vous simplifier la vie
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Je suis récemment tombé sur un article disant que les codes-barres et les lecteurs de codes-barres sont devenus un pilier des économies d’aujourd’hui et de nos vies en général depuis leur introduction dans les années 1970.

    J’ai donc décidé de tester à quel point cela est vrai en voyant à quelle fréquence je rencontre des lecteurs de codes-barres au cours d’une journée typique. Et — surprise surprise — ils se sont avérés plus importants que je ne le pensais.

    Une journée de lecture dans ma vie

    Juste après avoir quitté mon domicile le matin, je suis tombé sur un vélo à louer et j’ai utilisé une application de partage de vélos pour scanner le code QR sur le vélo pour le déverrouiller. Quand je suis finalement arrivé au travail, j’ai scanné à nouveau le code du vélo pour le verrouiller et terminer le trajet.

    Au déjeuner, je suis allé dans un café, je me suis assis et j’ai scanné le code-barres sur la table pour commander un déjeuner. Après avoir fait le plein, je suis allé au comptoir et j’ai scanné le code QR sur le mur pour payer.

    Et après le travail, avant de rentrer chez moi, je suis allé à mon point de collecte local pour récupérer la smartwatch que j’avais récemment achetée. C’est là que j’ai vu le personnel lutter pour numériser et enregistrer les détails des nombreux colis qu’ils manipulaient. Quand je suis finalement rentré chez moi et que j’ai dîné, il y avait un dernier code-barres à scanner pour la journée. C’était le code QR de la toute nouvelle smartwatch, qui était nécessaire pour lier l’appareil à une application sur mon téléphone.

    Surmonter les obstacles pour les lecteurs de codes-barres

    Cela dit, la numérisation des codes-barres n’est pas aussi simple qu’il y paraît car l’expérience de numérisation a rencontré plusieurs défis :

    Premièrement, les codes-barres de mauvaise qualité rendaient la reconnaissance des codes-barres difficile. Les codes-barres sur le vélo et la table étaient tachés en raison de l’usure quotidienne, ce qui est courant dans un espace public.

    Deuxièmement, le placement des codes n’est pas idéal. Il y a eu un moment gênant quand je suis allé au comptoir pour payer mon déjeuner, et le code de paiement était collé sur le mur juste à côté d’une personne qui pensait que j’essayais de le prendre secrètement en photo.

    Troisièmement, la lecture lente et rigide des codes-barres. Lorsque je suis allé au point de collecte, il était clair que l’efficacité des trieurs était déçue par leurs lecteurs, qui n’étaient pas en mesure de scanner plusieurs codes-barres à la fois.

    Quatrièmement, différents formats de codes-barres signifient que le mode de numérisation doit être changé.

    Alors, face à tous ces défis, j’ai décidé de développer mon propre lecteur. Après avoir fait des recherches et des tests, j’ai opté pour le kit HMS Core Scan, car ce kit utilise des technologies de vision par ordinateur pour s’assurer qu’il peut reconnaître un code-barres difficile à lire causé par des facteurs tels que la saleté, la réflexion de la lumière, etc. Le kit peut zoomer automatiquement sur une image de code-barres à distance afin que le code-barres puisse être facilement identifié, en utilisant le modèle d’algorithme d’apprentissage en profondeur. Le kit prend en charge la lecture multiple de cinq codes-barres différents à la fois, pour un enregistrement plus rapide des informations de code-barres. Et le kit prend en charge 13 formats de codes-barres, couvrant ceux couramment adoptés dans divers scénarios.

    kit de numérisation

    Outre ces avantages, j’ai également constaté que le kit prend en charge la personnalisation de l’interface utilisateur de numérisation, l’analyse du contenu des codes-barres dans 12 types de scénarios pour l’extraction de données structurées, deux SDK (respectivement 1,1 Mo et 3,3 Mo) et quatre modes d’appel différents. Une application Android peut être intégrée au kit en seulement cinq lignes de code. Et parmi les modes disponibles, j’ai choisi le mode Affichage par défaut pour mon application. Voyons comment cela fonctionne.

    Processus de service de la solution

    Processus de service de la solution

    Plus précisément parlant :

    • Un utilisateur ouvre une application et envoie une demande de lecture de code-barres.
    • L’application vérifie si elle dispose de l’autorisation de caméra.
    • Lorsque l’application a obtenu l’autorisation, l’application appelle le démarrer l’analyse API pour lancer l’interface utilisateur de lecture de codes-barres.
    • Le SDK HMS Core vérifie si l’interface utilisateur s’affiche correctement.
    • Le SDK HMS Core appelle onActivityResult pour obtenir le résultat de la numérisation.
    • L’application obtient le résultat de la numérisation en fonction de l’état de la numérisation (RESULT_CODE). Si le résultat est SUCCÈS, l’application renvoie le résultat de la numérisation à l’utilisateur ; si le résultat est ERROR_NO_READ_PERMISSIONl’application doit demander l’autorisation de lecture de fichier et entrer à nouveau dans le mode d’affichage par défaut.
    • L’application encapsule le résultat de l’analyse et l’envoie à l’utilisateur.

    Procédure de développement

    Faire des préparatifs

    1. Installez Android Studio 3.6.1 ou version ultérieure.
    2. Installez JDK 1.8.211 ou version ultérieure.
    3. Effectuez les configurations d’application suivantes :
      • minSdkVersion: 19 ou plus tard
      • targetSdkVersion: 33
      • compileSdkVersion: 31
      • Version Gradle : 4.6 ou ultérieure
    4. Installez la plate-forme SDK 21 ou une version ultérieure.
    5. Inscrivez-vous en tant que développeur.
    6. Créez un projet et une application dans AppGallery Connect.
    7. Générez une empreinte digitale de certificat de signature, qui est utilisée pour vérifier l’authenticité d’une application.
    8. Accédez à AppGallery Connect pour ajouter l’empreinte digitale dans le Empreinte du certificat SHA-256 champ, comme indiqué dans la figure ci-dessous.
    9. Informations sur l'applicationIntégrez le SDK HMS Core au projet Android Studio.
    10. Configurez les scripts d’obscurcissement afin que le SDK ne soit pas obscurci.
    11. Intégrez le kit de numérisation via HMS Toolkit. Pour plus de détails, cliquez ici.
    12. Déclarez les autorisations nécessaires dans le AndroidManifest.xml déposer.

    Développement de la fonction de numérisation

    Définir les paramètres de numérisation

    Ceci est une étape optionnelle. Le kit de numérisation prend en charge 13 formats de codes-barres au total. Vous pouvez ajouter des configurations afin que le kit de numérisation ne numérise que les codes-barres des formats souhaités, augmentant ainsi la vitesse de numérisation. Par exemple, lorsque seuls le code QR et le code DataMatrix doivent être scannés, suivez le code ci-dessous pour construire le HmsScanAnalyzerOptions objet.

    Lorsqu’il n’y a pas de format spécifié pour les codes-barres à scanner, cet objet n’est pas requis. 1 est l’une des valeurs de paramètre pour les titres de l’interface utilisateur de numérisation, correspondant à la var1 paramètre dans setViewType.

    // QRCODE_SCAN_TYPE and DATAMATRIX_SCAN_TYPE indicate that Scan Kit will support only the barcodes in the QR code and DataMatrix formats. setViewType is used to set the scanning UI title. 0 is the default value, indicating title Scan QR code/barcode, and 1 indicates title Scan QR code. setErrorCheck is used to set the error listener. true indicates that the scanning UI is exited upon detection of an error; false indicates that the scanning UI is exited upon detection of the scanning result, without reporting the error.
    HmsScanAnalyzerOptions options = new HmsScanAnalyzerOptions.Creator().setHmsScanTypes(HmsScan.QRCODE_SCAN_TYPE, HmsScan.DATAMATRIX_SCAN_TYPE).setViewType(1).setErrorCheck(true).create();

    Appel Startscan de Scanutil

    Appel démarrer l’analyse de ScanUtil pour démarrer l’interface utilisateur de numérisation du mode d’affichage par défaut, où un utilisateur peut choisir d’utiliser l’appareil photo pour numériser un code-barres ou accéder à l’album du téléphone et sélectionner une image à numériser.

    • REQUEST_CODE_SCAN_ONE: ID de la requête, correspondant au code requis paramètre de la onActivityResult méthode. Ce paramètre permet de vérifier si l’appel à onActivityResult provient du rappel de résultat d’analyse du kit d’analyse. Si code requis dans le onActivityResult est exactement l’ID de demande défini ici, le résultat de l’analyse est obtenu avec succès à partir du kit d’analyse.
    • Ensemble options pour nul lorsqu’il est nécessaire de numériser des codes-barres dans tous les formats pris en charge par le kit.
    ScanUtil.startScan(this, REQUEST_CODE_SCAN_ONE, options);

    Recevoir le résultat de la numérisation

    Recevez le résultat de la numérisation à l’aide de l’API de rappel, que l’objet numérisé soit capturé par l’appareil photo ou à partir d’une image de l’album.

    • Appeler le onActivityResult méthode de l’activité pour obtenir l’intention, dans laquelle l’objet de résultat d’analyse HmsScan est encapsulé. RÉSULTAT décrit comment obtenir des paramètres d’intention.
    • Si la valeur de code requis est le même que celui de REQUEST_CODE_SCAN_ONE défini à l’étape 2, l’intention reçue provient du Scan Kit.
    • Obtenez l’état de numérisation du code via RESULT_CODE dans l’intention.
    • Utiliser RÉSULTAT avec l’intention d’obtenir l’objet de la HmsScan classe.
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != RESULT_OK || data == null) {
            return;
        }
        if (requestCode == REQUEST_CODE_SCAN_ONE) {
            // Input an image for scanning and return the result.
            int errorCode = data.getIntExtra(ScanUtil.RESULT_CODE, ScanUtil.SUCCESS);
            if (errorCode == ScanUtil.SUCCESS) {
            Object obj = data.getParcelableExtra(ScanUtil.RESULT);
            if (obj != null) {
                    // Display the scanning result.
            ...
                }
        }
            if (errorCode == ScanUtil.ERROR_NO_READ_PERMISSION) {
                // The file read permission is not assigned. Apply for the permission.
            ...
            }
        }
    }

    Puis — Boum ! Le lecteur de code-barres est réglé et prêt. Je l’ai fait tourner la semaine dernière et tout semblait bien fonctionner.

    Emporter

    Les codes-barres sont partout de nos jours, il est donc important d’avoir toujours un lecteur de code-barres sur soi. Cela signale une opportunité fantastique pour les développeurs d’applications.

    Le lecteur de codes-barres idéal prendra en charge différents formats de codes-barres, sera capable d’identifier les codes-barres de mauvaise qualité dans des environnements difficiles et prendra en charge la lecture multiple de codes-barres en même temps.

    Aussi difficile que cela puisse paraître, HMS Core Scan Kit est le compagnon idéal. Technologies de vision par ordinateur, algorithme d’apprentissage en profondeur, prise en charge de la lecture multiple et continue de codes-barres… Avec toutes ces fonctionnalités, ainsi que ses SDK faciles à utiliser et légers et ses modes d’appel flexibles, le kit offre aux développeurs et aux utilisateurs tout ce dont ils auront besoin de une application de lecteur de code-barres.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.