IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[ZXing] Scanner un QRCode sans dépendance de BarCode Reader


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut [ZXing] Scanner un QRCode sans dépendance de BarCode Reader
    Bonjour à tous,

    Je lutte depuis deux jours pour essayer d'inclure un système de flash de QRCode dans mon application Android. J'ai réussi sans soucis, en passant par des intents, à faire fonctionner ZXing, mais il faut pour cela avoir l'application BarCode Reader installée.

    Mon objectif est d'être complétement indépendant.

    Tout les sites et forums que je visite utilisent les intents et obligent donc leur utilisateurs à passer par l'installation de Bar Code Reader. Je ne vois pas bien comment faire. J'ai bien vu cette page mais elle ne traite pas la capture de l'image via la caméra, et certaines classes utilisées n’existent pas sous Android.

    A noter que je débute sous Android, pas en Java.

    Je vous remercie par avance des réponses que vous pourrez m'apporter :=)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Bonjour,

    Pour l'Activité de capture d'image je pense que le mieux c'est de regarder comment c'est fait dans BarcodeScanner (http://code.google.com/p/zxing/sourc...eActivity.java), après tout dépend de ce que vous voulez faire, détection en live ou à partir d'une photo.

    J'utilise BarcodeScanner mais j'avais envisagé de faire en standalone sans vraiment m'y plonger dedans, je vais suivre avec attention ce sujet.

  3. #3
    Membre confirmé
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    146
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 146
    Par défaut
    bonjour
    1- vous devez installer Ant appache binary distrubutions
    2- vidéo de l'installation (très important de l'installer correctement) [ame="http://www.youtube.com/watch?v=XJmndRfb1TU"]ici[/ame]
    3-a l'aide de l'invite de commande vous devez aller dans le dossier de zxing\core et exécuter la commande 'ant -f core/build.xml'
    appache va générer un fichier core.jar sous le répertoire eg.c:\\ zxing\core\core.jar
    4-a l'aide d'eclipse :
    file-->import -->existing project into workspace | Brows
    vous devez importer le projet nommé android ensuit vous validez
    5- click droit sur le projet android build path-->configure build path--> add external jars choisissez le fichier core.jar
    il vous reste qu'a confirmer et corriger quelque erreur dans le fichier Androidmanifest.xml et corriger/supprimer quelque lange dans le fichier strings.xml dans le dossier ressource.
    fini avec les problèmes d'importation de zxing
    cordialement
    Echap

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Bonjour,

    Quand je dis :

    Citation Envoyé par vivelapsp Voir le message
    J'ai bien vu cette page mais elle ne traite pas la capture de l'image via la caméra, et certaines classes utilisées n’existent pas sous Android.
    Il faut bien comprendre que je n'ai aucun problème pour l'importation de ZXing (suffisamment de tuto grouille sur le net pour que j'ose intervenir à ce sujet). Mon soucis est bel et bien d'utiliser l'API sans obliger l'utilisateur à installer QR Code Reader.

    Merci quand même pour vos interventions

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Tout dépend de ce que tu veux faire mais pour utiliser l'Api une méthode simple et d'utiliser MultiFormatReader que l'on peut paramétré par la méthode setHints qui prend une Map avec en clé DecodeHintType (la classe détailles les types d'objets) et en valeur un objet (par exemple un vecteur de format possible, un chaine pour le charset etc.).

    Ensuite utiliser la méthode decodeWithState qui prend un BinaryBitmap en paramètre et retourne un objet Result. Pour convertir une image en BinaryBitamp il y a la classe dans le projet BufferedImageLuminanceSource J2SE.

    Pour récupérer l'image on peut utiliser un PreviewCallBack ou CameraCallback et convertir les byte en image.

    C'est un peu en vrac mais c'est le résultat de mes recherches, j'en suis encore au tâtonnement.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Merci pour ces infos. Pour la partie décodage, ce que tu dis semble plus ou moins correspondre au lien que j'ai donné dans mon premier post.

    Par contre, quand tu parles du BufferedImageLuminanceSource, il est compatible android ? Car il ne se trouve pas dans la librairy pour Android, je pourrais l'ajouter, mais apparemment c'est du J2SE et c'est pas ça qui est utilisé pour Android.

    Pour la partie capture, je suis encore dans le flou, je vais voir si je peux exploiter tes pistes.

    EDIT : J'oubliais, pour répondre à tes questions, mon souhait est de faire une détection à partir de la vidéo, seulement sur un QRCode (j'utiliserais donc QRCodeReader plutot que MultiFormatReader).

  7. #7
    Membre confirmé
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    146
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 146
    Par défaut
    Citation Envoyé par vivelapsp Voir le message
    Bonjour à tous,

    Je lutte depuis deux jours pour essayer d'inclure un système de flash de QRCode dans mon application Android. J'ai réussi sans soucis, en passant par des intents, à faire fonctionner ZXing, mais il faut pour cela avoir l'application BarCode Reader installée.

    Mon objectif est d'être complétement indépendant.

    Tout les sites et forums que je visite utilisent les intents et obligent donc leur utilisateurs à passer par l'installation de Bar Code Reader. Je ne vois pas bien comment faire. J'ai bien vu cette page mais elle ne traite pas la capture de l'image via la caméra, et certaines classes utilisées n’existent pas sous Android.
    A noter que je débute sous Android, pas en Java.
    Je vous remercie par avance des réponses que vous pourrez m'apporter :=)
    voila pour quoi j'ai répondu avec la solution de l'importation
    quant tu importe le projet correctement tu peux rajouter des Activty autant que veux (dans le manifest aussi) et tu peux éliminer des fonctionnalité comme tu veux aussi ensuite compiler le tout bye

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Si j'ai bien compris ta solution, tu lancerais directement l'activity de l'application contenue dans ton projet, et donc la nécessité d'avoir BarCode Reader disparaîtrait ?

    Cette solution est loin d'être la plus propre à mon gout, mais bon, elle me conviendrait tout de même.

    Pourrais tu développer / illustrer stp ? Pour rappel, je suis débutant sur Android, et je n'en connais pas encore bien tout les mécanismes.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Je suis actuellement entrain de faire comme tu l'a proposé, Echap. J'ai viré tout les packages inutiles pour mon cas et je n'ai gardé que le package parent (com.google.zxing.client.android), le package camera, et le package encode.


    Le problème est que je n'ai absolument pas touché a la classe ViewFinderView ou au package camera, et que pourtant, mon affichage bug. Le rectangle blanc n'est pas centré au milieu, il semble d'ailleurs que ma vue n'apparaisse qu'au quart de l'écran.

    Je ne vois donc pas ce qui perturbe l'affichage. As tu déjà eu ce problème ? Ou quelqu'un d'autre l'a t-il déjà eu ?

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Dans le manifest il faut forcer l'orientation à 'landscape'. Par défaut c'est paramétré pour du landscape, j'ai fais des tests en mode portrait, mais je trouve que la reconnaissance est plus lente, faut que je creuse un peu plus.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Par défaut
    Je viens de tester, en landscape j'ai le même probleme...

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2014, 11h52
  2. Réponses: 9
    Dernier message: 01/04/2012, 04h44
  3. [WD14] Scanner un document sans passer par les fonctions TWAIN
    Par devalender dans le forum WinDev
    Réponses: 3
    Dernier message: 22/09/2009, 15h53
  4. gestion barcode scanner
    Par minsh dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/04/2007, 16h05
  5. [VB6]Compilation sans dépendance
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/08/2006, 03h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo