Android pour les développeurs J2EE

Un modèle asynchrone pour les clients web


précédentsommaire

XII. Annexes

XII-A. La bibliothèque Jackson

La bibliothèque JSON appelée " Jackson " permet de construire :

  • la chaîne JSON d'un objet : new ObjectMapper().writeValueAsString(object) ;
  • un objet à partir d'un chaîne JSON : new ObjectMapper().readValue(jsonString, Object.class).

Les deux méthodes sont susceptibles de lancer une IOException. Voici un exemple.

Soit la classe [Personne] suivante :

 
CacherSélectionnez

et la classe principale suivante :

 
CacherSélectionnez

Les affichages écran sont les suivants :

 
CacherSélectionnez

De l'exemple on retiendra :

  • l'objet [ObjectMapper] nécessaire aux transformations JSON / Object : ligne 12 ;
  • la transformation JSON --> [Personne] : ligne 21 ;
  • la transformation [Personne] --> JSON : ligne 18 ;
  • l'exception [IOException] lancée par les deux méthodes : ligne 14 ;
  • ligne 38 : la classe [TypeReference] permet d'obtenir l'objet Class d'un type Java complexe.

XII-B. La bibliothèque Gson

La bibliothèque Gson de Google est analogue mais légèrement différente. Le programme précédent s'écrit comme suit :

 
CacherSélectionnez
  • les exceptions lancées par la bibliothèque Gson ne sont pas contrôlées par le compilateur. On n'a donc pas de try / catch ou de throws Exception ;
  • ligne 17 : la méthode toJson permet d'obtenir la représentation JSON d'un objet ;
  • ligne 20 : la méthode fromJson permet de créer un objet à partir de sa représentation JSON ;
  • ligne 37 : on notera la classe TypeToken qui permet d'obtenir l'objet Class d'un type Java complexe.

L'affichage écran obtenu est le suivant :

 
CacherSélectionnez

XII-C. Installation de l'IDE Eclipse

Plutôt qu'installer un Eclipse brut, nous allons installer SpringSource Tool Suite [http://www.springsource.com/developer/sts], un Eclipse prééquipé avec de nombreux plugins liés au framework Spring et également avec une configuration Maven préinstallée.

Image non disponible
  • aller sur le site de SpringSource Tool Suite (STS) [1], pour télécharger la version courante de STS [2A] [2B],Image non disponibleImage non disponible
  • le fichier téléchargé est un installateur qui crée l'arborescence de fichiers [3A] [3B]. En [4], on lance l'exécutable,
  • en [5], la fenêtre de travail de l'IDE après avoir fermé la fenêtre de bienvenue. En [6], on fait afficher la fenêtre des serveurs d'applications,Image non disponible
  • en [7], la fenêtre des serveurs. Un serveur est enregistré. C'est un serveur VMware que nous n'utiliserons pas. En [8], on appelle l'assistant d'ajout d'un nouveau serveur,Image non disponible
  • en [9A], divers serveurs nous sont proposés. Nous choisissons d'installer un serveur Tomcat 7 d'Apache [9B],Image non disponible
  • en [10], nous désignons le dossier d'installation du serveur Tomcat 7 installé. Si on n'a pas de serveur Tomcat, utiliser le bouton [11],
  • en [12], le serveur Tomcat apparaît dans la fenêtre [Servers],Image non disponible
  • en [13], nous lançons le serveur,
  • en [14], il est lancé,
  • en [15], on l'arrête.

Dans la fenêtre [Console], on obtient les logs suivants de Tomcat si tout va bien :

 
CacherSélectionnez
Image non disponible
  • toujours dans la fenêtre [Servers], on ajoute un nouveau serveur [16],
  • en [17], le serveur Glassfish n'est pas proposé,
  • dans ce cas, on utilise le lien [18],Image non disponible
  • en [19], on choisit d'ajouter un adaptateur pour le serveur Glassfish,
  • celui est téléchargé et de retour dans la fenêtre [Servers], on ajoute un nouveau serveur,
  • cette fois-ci en [21], les serveurs Glassfish sont proposés,Image non disponible
  • en [22], on choisit le serveur Glassfish 3.1.2 téléchargé avec Netbeans,
  • en [23], on désigne le dossier d'installation de Glassfish 3.1.2 (faire attention au chemin indiqué en [24]),
  • si on n'a pas de serveur Glassfish, utiliser le bouton [25],Image non disponible
  • en [26], l'assistant nous demande le mot de passe de l'administrateur du serveur Glassfish. Pour une première installation, c'est normalement adminadmin,
  • lorsque l'assistant est terminé, dans la fenêtre [Servers], le serveur Glassfish apparaît [27],Image non disponible
  • en [28], on le lance,
  • en [29] un problème peut survenir. Cela dépend des informations données à l'installation. Glassfish veut un JDK (Java Development Kit) et non pas un JRE (Java Runtime Environment),
  • pour avoir accès aux propriétés du serveur Glassfish, on double-clique dessus dans la fenêtre [Servers],
  • on obtient la fenêtre [20] dans laquelle on suit le lien [Runtime Environment],Image non disponible
  • en [31], on va remplacer le JRE utilisé par défaut par un JDK. Pour cela, on utilise le lien [32],
  • en [33], les JRE installés sur la machine,
  • en [34], on en ajoute un autre,Image non disponible
  • en [35], on choisit [Standard VM] (Virtual Machine),
  • en [36], on sélectionne d'un JDK (>=1.6),
  • en [37], le nom donné au nouveau JRE,Image non disponible
  • revenu au choix du JRE pour Glassfish, nous choisissons le nouveau JRE déclaré [38],
  • une fois l'assistant de configuration terminé, on relance [Glassfish] [39],
  • en [40], il est lancé,Image non disponible
  • en [41], l'arborescence du serveur,
  • en [42], on accède aux logs de Glassfish :
 
CacherSélectionnez
Image non disponible
  • en [43], nous arrêtons le serveur Glassfish.

XII-D. Installation du SDK Manager d'Android

Image non disponible
  • en [1], pourquoi on a besoin du SDK d'Android ;
  • en [2], on est dans le cadre d'un IDE déjà installé ;

On trouvera le SDK Manager d'Android à l'adresse [http://developer.android.com/sdk/index.html] (mars 2013). Faire l'installation du SDK. Une fois installé, le lancer. L'assistant suivant s'affiche :

Image non disponible
  • télécharger les quatre paquetages ci-dessus ;

La suite se fait sous Eclipse.

XII-E. Installation des outils Android pour Eclipse

Image non disponible
  • en [1], sélectionner l'option Help / Eclipse Marketplace ;
  • en [2], dans la zone de recherche, mettre les mots clés [android maven] pour obtenir les outils Maven pour Android ;Image non disponible
  • en [3], choisir l'application [Android Configurator for M2E] et l'installer [4] ;
  • en [5], désélectionner [m2e], les outils Maven pour Eclipse qui sont déjà installés puis aller jusqu'au bout de l'assistant. Redémarrer Eclipse ;

Ceci fait, on configure le plugin Android :

Image non disponible
  • en [1], choisir l'option Window / Preferences ;
  • en [2], indiquez le répertoire d'installation du SDK Manager d'Android qui a été installé précédemment, puis valider ;

Nous allons créer un premier projet Android :

Image non disponible
  • en [1], créer un nouveau projet de type Android [2] ;Image non disponible
  • donner les trois informations ci-dessus et aller jusqu'au bout de l'assistant en acceptant les valeurs proposées par défaut ;
  • en [4], utiliser l'option Run / Run Configurations pour définir une configuration d'exécution pour le projet Android ;Image non disponible
  • en [5], sélectionner le type [Android Application] et cliquer l'icône + ;
  • en [6], mettre le nom du projet à exécuter ;
  • en [7], donner un nom quelconque à cette configuration ;Image non disponible
  • en [8], sélectionner l'onglet [Target] ;
  • en [9], il nous faut définir un émulateur de tablette Android ;
  • pour cela, on utilise le bouton [10] ;Image non disponible
  • en [11], on crée un nouvel émulateur ;
  • en [12], donner un nom à l'émulateur de la tablette ;
  • en [13], choisir l'objet à émuler, une tablette ;
  • en [14], choisir l'API d'Android à utiliser. Précédemment, lors de l'installation du SDK Manager, une seule API a été téléchargée. C'est celle qui est proposée ;
  • en [15], la saisie n'est pas possible. [Intel Atom] est l'un des quatre paquetages que nous avons téléchargés. Valider le tout ;Image non disponible
  • de retour dans le gestionnaire de configuration, le nouvel émulateur doit apparaître en [16]. Utiliser [17] si ce n'est pas le cas ;
  • en [18], on exécute le projet Android [exemple1] avec cette configuration ;

L'émulateur est alors lancé et l'interface visuelle du projet affichée :

Image non disponible

XII-F. Création d'un projet Maven Android

Pour créer un projet Maven Android, on pourra suivre la démarche suivante :

Image non disponible
  • en [1] et [2], créer un nouveau projet Android comme il a été fait précédemment pour le projet [exemple1] ;Image non disponible
  • en [3], ajouter à la racine du projet le fichier [pom.xml] suivant (faire un copier / coller à partir de ce document) :
 
CacherSélectionnez
  • puis en [4], convertir le projet en projet [Maven]  puis l'exécuter comme il a été fait pour le projet [exemple1] ;
Image non disponible

XII-G. Exécution des exemples du document avec un émulateur

Importer l'exemple 1 du document dans Eclipse :

Image non disponible
  • en [1] importer un projet de type [Maven] [2] ;Image non disponible
  • en [3], désigner le dossier du projet et l'importer ;
  • en [4], le projet importé présente une erreur. Il lui manque la dépendance Maven [android-avat] ;

En suivant la même démarche, importer le projet manquant :

Image non disponible
  • en [5], le projet [android-avat-exemple1] ne présente plus d'erreurs ;
  • en suivant la démarche vue précédemment, créer une configuration d'exécution [6] pour ce projet puis l'exécuter :
Image non disponible

XII-H. Exécution des exemples du document sur une tablette Android

La configuration qui suit a été faite avec une tablette Samsung Galaxy Tab 2 10.1.

  • on doit configurer la tablette en mode développement [ Paramètres / Système / Options de développement / Débogage / Débogage USB coché]. Cela permet d'installer sur la tablette une application Android à partir du port USB de l'ordinateur de développement ;
  • brancher la tablette sur le port USB de l'ordinateur de développement ;

Charger comme il a été décrit l'application exemple [android-avat-exemple1] et modifier sa configuration d'exécution de la façon suivante :

Image non disponible
  • en [1], on demande qu'à l'exécution on nous laisse choisir où elle doit s'exécuter ;
  • on lance l'exécution et en [2], Eclipse nous propose deux cibles :
  • l'émulateur déjà utilisé (ligne 1),
  • la tablette qu'on a connectée au port USB et qu'il a reconnue. On la sélectionne. L'application est alors transférée sur la tablette et exécutée.

Dans le cas des applications client / serveur des exemples 2 et 7 :

  • le serveur est sur le PC ;
  • le client est sur la tablette ;

Pour qu'ils se voient, le plus simple est de les mettre sur le même réseau Wifi. Sur le PC, il faut désactiver le pare-feu voire parfois l'antivirus.

XII-I. Installation de [WampServer]

[WampServer] est un ensemble de logiciels pour développer en PHP / MySQL / Apache sur une machine Windows. Nous l'utiliserons uniquement pour le SGBD MySQL.

Image non disponible
  • sur le site de [WampServer] [1], choisir la version qui convient [2],
  • l'exécutable téléchargé est un installateur. Diverses informations sont demandées au cours de l'installation. Elles ne concernent pas MySQL. On peut donc les ignorer. La fenêtre [3] s'affiche à la fin de l'installation. On lance [WampServer],Image non disponible
  • en [4], l'icône de [WampServer] s'installe dans la barre des tâches en bas et à droite de l'écran [4],
  • lorsqu'on clique dessus, le menu [5] s'affiche. Il permet de gérer le serveur Apache et le SGBD MySQL. Pour gérer celui-ci, on utiliser l'option [PhpPmyAdmin],
  • on obtient alors la fenêtre ci-dessous,
Image non disponible

Nous donnerons peu de détails sur l'utilisation de [PhpMyAdmin]. Nous montrerons dans le document comment l'utiliser pour créer la base de données de l'application exemple 7.


précédentsommaire

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.