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 :
et la classe principale suivante :
Les affichages écran sont les suivants :
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 :
- 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 :
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.
- aller sur le site de SpringSource Tool Suite (STS) [1], pour télécharger la version courante de STS [2A] [2B],
- 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,
- 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,
- en [9A], divers serveurs nous sont proposés. Nous choisissons d'installer un serveur Tomcat 7 d'Apache [9B],
- 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],
- 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 :
- 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],
- 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,
- 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],
- 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],
- 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],
- 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,
- 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,
- 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é,
- en [41], l'arborescence du serveur,
- en [42], on accède aux logs de Glassfish :
- en [43], nous arrêtons le serveur Glassfish.
XII-D. Installation du SDK Manager d'Android▲
- 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 :
- télécharger les quatre paquetages ci-dessus ;
La suite se fait sous Eclipse.
XII-E. Installation des outils Android pour Eclipse▲
- 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 ;
- 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 :
- 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 :
- en [1], créer un nouveau projet de type Android [2] ;
- 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 ;
- 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 ;
- 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] ;
- 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 ;
- 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 :
XII-F. Création d'un projet Maven Android▲
Pour créer un projet Maven Android, on pourra suivre la démarche suivante :
- en [1] et [2], créer un nouveau projet Android comme il a été fait précédemment pour le projet [exemple1] ;
- en [3], ajouter à la racine du projet le fichier [pom.xml] suivant (faire un copier / coller à partir de ce document) :
- puis en [4], convertir le projet en projet [Maven] puis l'exécuter comme il a été fait pour le projet [exemple1] ;
XII-G. Exécution des exemples du document avec un émulateur▲
Importer l'exemple 1 du document dans Eclipse :
- en [1] importer un projet de type [Maven] [2] ;
- 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 :
- 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 :
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 :
- 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.
- 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],
- 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,
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.