Android pour les développeurs J2EE

Un modèle asynchrone pour les clients web


précédentsommairesuivant

VII. AVAT- Exemple 4

VII-A. Le projet

L'application de ce nouvel exemple a elle également l'architecture suivante :

Image non disponible

La couche [AVAT] est seule et sans tâches asynchrones.

L'application aura deux vues. La première est la même que dans l'exemple précédent :

Image non disponible

A l'exécution, l'action [Action_01] se contentera de renvoyer à la vue les informations que celles-ci lui aura données. La vue [Vue_01] mettra alors ces informations dans une session et demandera à l'activité Android d'afficher une seconde vue [Vue_02]. Celle-ci affichera alors les informations trouvées dans la session. La vue [Vue_02] est la suivante :

Image non disponible

Elle réaffiche en rouge les données qu'elle a trouvées dans la session. Le bouton [Retour] ramène à la vue [Vue_01].

VII-B. Le projet Eclipse

Le projet Eclipse de cet exemple est le suivant :

Image non disponible
  • en [1], le projet [android-ui4] est un projet Maven ayant une dépendance sur le projet [android-avat] ;
  • en [2], les sources du projet :
  • le package [istia.st.avat-exemples.vues] rassemble les vues du projet, ici deux vues ;
  • le package [istia.st.avat-exemples.actions] rassemble les actions du projet, ici une action ;
  • le package [istia.st.avat-exemples.activity] contient l'activité Android [MainActivity], la fabrique d'objets [Factory], une classe de configuration [Config] et une implémentation de l'interface [ISession].

VII-C. La session

Rappelons la définition de l'interface [ISession] du modèle AVAT :

 
CacherSélectionnez

La classe [Session] l'implémente de la façon suivante :

 
CacherSélectionnez

VII-D. L'activité Android

Jusqu'à maintenant, l'activité Android n'affichait qu'une vue. Nous la modifions pour qu'elle puisse afficher n'importe quelle vue. Son code devient le suivant :

 
CacherSélectionnez

Nous ne commentons que ce qui change :

  • lignes 23-24 : les deux vues sont instanciées par la fabrique ;
  • ligne 26 : leurs références sont stockées dans un tableau défini ligne 10 ;
  • ligne 28 : la première vue est affichée via une méthode interne [showVue]. Les vues, qui ont accès à l'activité, demanderont le changement de vue par cette méthode.

VII-E. L'action [Action_01]

L'action [Action_01] se contente de renvoyer à la vue les informations que celles-ci lui a transmises. Son code est le suivant :

 
CacherSélectionnez
  • ligne 11 : les paramètres reçus sont immédiatement renvoyés à la vue dans la notification [WORK_TERMINATED].

VII-F. La vue [Vue_01]

La vue [Vue_01] est la suivante :

 
CacherSélectionnez
  • ligne 12 : la vue gère la notification [WORK_TERMINATED] ;
  • ligne 15 : une session est demandée à la fabrique. C'est un singleton ;
  • lignes 16-21 : les cinq informations renvoyées par [Action_01] sont mémorisées dans la session ;
  • lignes 2-5 : lorsqu'arrive la notification [endOfTasks], la vue [Vue_02] est affichée. On rappelle que l'activité Android est injectée dans chacune des vues par la fabrique dans le champ activity .

VII-G. La vue [Vue_02]

La vue [Vue_02] est la suivante :

 
CacherSélectionnez
  • ligne 52 : tout se passe dans la méthode [onResume] exécutée juste avant que l'interface ne devienne visible ;
  • ligne 57 : on récupère le singleton [ISession] auprès de la fabrique ;
  • lignes 58-62 : on y récupère les cinq informations que la vue [Vue_01] y a placées ;
  • lignes 64-68 : elles sont ensuite affichées sur la page ;
  • ligne 71 : la méthode exécutée sur un clic sur le bouton [Retour] ;
  • ligne 73 : on affiche la vue [Vue_01].

VII-H. La fabrique

La fabrique instancie une nouvelle vue ainsi que la session :

 
CacherSélectionnez

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Serge Tahé. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.