Developpez.com - Rubrique Android

Le Club des Développeurs et IT Pro

Introduction à l'utilisation du NFC dans une application Android

Par Sylvain Berfini

Le 2011-03-23 12:16:51, par Viish, Rédacteur
a href="http://sberfini.developpez.com/tutoriaux/android/nfc/" target="_blank">tutoriel Android publié dans la liste des meilleurs tutoriels pour apprendre Android a pour objectif de vous apprendre à manipuler le capteur NFC présent dans certains terminaux Android en vous expliquant comment envoyer et recevoir des données.
  Discussion forum
33 commentaires
  • fantomchris
    Membre régulier
    Bonjour,

    Je suis en train de me mettre au NFC, après avoir passé plusieurs années dans les cartes sans contact
    Ce tutoriel Java m'a l'air très sympathique, mais il y a une chose qui m’ennuie profondément : quelle est la base qu'il faut prendre pour comprendre ce qui y est décrit?
    Je suis d'accord sur les termes et les syntaxes, mais d'où sortent toutes ces méthodes à "modifier"?
    Merci d'avance de votre aide
  • Viish
    Rédacteur
    Bonjour,

    Je suis désolé mais je ne comprend pas votre question.
    Quelles sont les méthodes "à modifier" que vous ne comprenez pas ?
  • fantomchris
    Membre régulier
    En fait, c'est plus en amont encore.

    Ces modifications se font sur un projet de base.
    Quand je lis ce tutoriel (ou peut-être n'ai-je absolument rien compris), il y est question d'ajouter des lignes par ci par là:
    Pour que l'application au premier plan puisse gérer directement la découverte d'un TAG, il est nécessaire de modifier quelque peu la méthode onResume() de l'Activity.
    Mais cela implique d'être en train de modifier un projet existant, possédant cette méthode onResume
    Et c'est à ce moment là que mon problème survient:
    - Soit il faut partir d'un projet, que je ne connais pas, et en modifier certaines parties
    - Soit il faut partir d'un projet vierge, mais alors pourquoi parler de choses comme celle-ci:
    Vérifions maintenant dans resoudreIntent la présence d'un Tag dans l'Intent passé en paramètre :
    Je ne trouve pas de projet contenant, de bas, cette méthode resoudreIntent
    Y a-t-il un package particulier à installer?

    Vous basez vous sur le projet NFC Demo?

    Merci d'avance de votre aide
  • Viish
    Rédacteur
    En fait je pars du principe dans mon tutoriel que toute la gestion de la partie NFC se fait dans une Activity. A partir de là, quand je dis qu'il faut modifier la méthode onResume() c'est celle de l'Activity. Soit tu l'as déjà surchargée dans ton Activity et tu n'as qu'à la modifier en conséquence, soit il faut commencer par la surcharger (de la même manière que tu surcharges onCreate, onTouch, ...).

    En revanche pour resoudreIntent c'est à vous de créer cette méthode, comme dis dans le tutoriel.
    Une fois ceci fait, attaquons-nous à la partie Java du code. Créez dans votre classe une méthode (que je nommerai resoudreIntent) prenant en paramètre un Intent. [...] Que va faire cette méthode ? Tout simplement vérifier la présence d'un TAG dans l'Intent courant et le cas échéant le lire.
  • fantomchris
    Membre régulier
    Ok, donc, vous basez-vous sur une Activity que VOUS avez créé pour gérer la lecture des Tags, ou plus simplement sur l'exemple NFCDemo?
  • Viish
    Rédacteur
    Non, je me base sur une Activity vierge que je crée. Mais tu remarqueras qu'au final elle ressemble à l'Activity NFC Demo.
  • fantomchris
    Membre régulier
    ... euh ... j'ai du mal à la remarquer sachant que rien ne dit ce qu'il y a dedans ...
  • Viish
    Rédacteur
    Le tutoriel est du début à la fin l'explication du contenu de cette classe, avec au final tout le code nécessaire (en dehors du squelette classique d'une Activity Android).
  • fantomchris
    Membre régulier
    Ah d'accord, mais où est passé l'appel à resoudreIntent
    Est ce implicite de considérer que son appel est fait depuis la surcharge de onNewIntent(Intent intent)

    Enfin bref, je dois avouer que pour le coup, je suis paumé dans ce "tuto" qui me semble bien plus avancé qu'il n'y parait
  • Viish
    Rédacteur

    Si votre Activity peut être déjà lancée par votre programme, vous devrez surcharger la méthode OnNewIntent(Intent intent) et y effectuer de la même manière un appel à votre resoudreIntent.
    Sinon oui, il faut l'appeler depuis le onCreate() avec comme paramètre getIntent().

    II. Prérequis
    Pour une bonne compréhension de ce tutoriel vous devrez disposer des connaissances de base en Java et en développement d'applications Android. Les notions d'Activity, Intent, Context et Manifest doivent vous être familières. Je ne me focaliserai donc pas sur la façon dont on code une application, ni sur la structure du projet, mais bien sur le code directement.
    En effet ce tutoriel Android n'a pas pour vocation d'être destiné aux débutants en Android, mais plutôt à ceux en ayant déjà une bonne connaissance et désirant aller plus loin dans le développement.