Vous êtes sur la page 1sur 30

2011

Dveloppement Mobile sous Android 2.2

Encadr par : - Philippe Lacomme Responsable INRA : - Sylvie Rousset

- Ramilijaona Andrianaina - Fatnassi Sofiane - Rajerison Andry Universit Blaise Pascal II - Informatique 13/05/2011

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

TABLE DES MATIERES


Sommaire
REMERCIEMENTS .................................................................................................................................... 4 RESUME ................................................................................................................................................... 5 INTRODUCTION ....................................................................................................................................... 6 PRESENTATION DU PROJET ..................................................................................................................... 7 Contexte .............................................................................................................................................. 7 Interaction client/mdecin .................................................................................................................. 7 Objectif du projet ................................................................................................................................ 7 Contrainte............................................................................................................................................ 8 DEVELOPPEMENT MOBILE ...................................................................................................................... 9 Prsentation (environnement de dveloppement) ............................................................................ 9 Modlisation...................................................................................................................................... 12 Diagramme de cas d'utilisation ..................................................................................................... 12 Diagramme de classe..................................................................................................................... 13 Implmentation ................................................................................................................................. 14 Prsentation de l'application ................................................................................................................ 21 Les problmes rencontrs ................................................................................................................. 23 DEVELOPPEMENT WEB ......................................................................................................................... 24 Prsentation ...................................................................................................................................... 24 Modlisation...................................................................................................................................... 25 Implmentation ................................................................................................................................. 25 Prsentation lINRA ............................................................................................................................ 26 Ce qui reste faire ................................................................................................................................ 27 CONCLUSION ......................................................................................................................................... 28 ANNEXE ................................................................................................................................................. 29 Rfrences et bibliographies ................................................................................................................. 30

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

TABLE DES FIGURES


Figure 1 : Aperu globale du systme .................................................................................................... 7 Figure 2 : Communication mobile - Internet - Serveur Web - Base de donnes .................................... 8 Figure 3 : Cycle de la vie d'une application (LIBRAIRIE.IMMATERIEL.FR/FR/READ_BOOK/9782815002028/DEVELOPPEZ-POUR-ANDROID_SPLIT_001) .............. 9 Figure 4 : Architecture plateforme Android ( HTTP://FLEXGURUIN.WORDPRESS.COM/CATEGORY/ANDROID) .. 10 Figure 5 : IDE NetBeans ......................................................................................................................... 11 Figure 6 : Android SDK and AVD Manager ............................................................................................ 11 Figure 7 : Diagramme de cas d'utilisation ............................................................................................. 12 Figure 8 : Diagramme de classe ............................................................................................................. 13 Figure 9 : Communication Android/ Serveur Web/ Base de donnes .................................................. 14 Figure 10 : view xml ............................................................................................................................... 15 Figure 11 : Gestion d'vnement click d'un bouton ............................................................................. 15 Figure 12 : Rcupration des valeurs du capteur.................................................................................. 16 Figure 13 : Manipulation service ........................................................................................................... 17 Figure 14 : import package apache http ............................................................................................... 19 Figure 15 : Fonction authentification mthode Get.............................................................................. 19 Figure 16 : Envoie de donne utilisant la classe connexion (methode POST)....................................... 20 Figure 17 : Android Sport prsentation gnrale ............................................................................... 21 Figure 18 : Android Sport Authentification ........................................................................................ 22 Figure 19 : Android Sport Accueil ....................................................................................................... 22 Figure 20 : Android Sport Tracking ..................................................................................................... 22 Figure 21 : Android Sport - Fonction Amie ............................................................................................ 23 Figure 22 : Android Sport Config ........................................................................................................ 23 Figure 23 : Diagramme de classe site web ............................................................................................ 25 Figure 24 : Compilation Android ( http://revistalinux.net/cursos/java-y-android/attachment/androidcompilation) .......................................................................................................................................... 29

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Remerciements

Nous tenons tout d'abord remercier M. Philippe Lacomme, notre tuteur de stage, de nous avoir propos ce sujet, de nous avoir aid et encadr tout au long du projet. Nous remercions aussi le directeur technique et tout le personnel de l'INRA ayant assist la prsentation du projet, de nous avoir encourags pour ce projet Nous remercions particulirement chaque tudiant du groupe, d'avoir particip et contribu atteindre notre objectif

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

RESUME
Nous avons effectu notre projet de fin d'tudes de la 3me anne de licence sous l'encadrement de M. Philippe Lacomme. Ce travail a t ralis en liaison avec Sylvie Rousset Ingnieur de Recherche INRA. Le projet a pour but de nous initialiser la plateforme de dveloppement mobile sous Android et de tirer profit des gadgets que possdent les Smartphones de nos jours. Les principaux gadgets qui nous seraient utiles pour laborer ce projet sont les capteurs sensoriels et le GPS. Etant donne l'mergence de technologie mobile, beaucoup d'applications ont t dveloppes dans divers domaines. Cependant nous avons pens comment utiliser ces gadgets pour aider chaque individu suivre ses efforts physiques grce son Smartphone.

La premire tape a t l'tude pralable du logiciel, c'est dire dfinir le contexte et le choix des outils utiliser pour le dveloppement. Etablir les fonctionnalits de base ainsi que les diagrammes ncessaires la conception du logiciel. Dans un second temps, nous avons choisi un IDE de dveloppement permettant d'implmenter le logiciel, sachant que celui-ci s'crit sous le langage JAVA. Entre NetBeans et Eclipse, nous avons choisi NetBeans pour mieux le maitriser. Dans la dernire partie, nous avons cr un site web puis nous lavons hberger temporairement sur le serveur web de l'ISIMA. Compte tenu de la faible capacit de la batterie des Smartphones fournir l'nergie ncessaire une utilisation intensive des capteurs et du GPS, le site permettra d'allger et de diminuer la consommation nergtique du tlphone en dlguant tous les gros calculs sur celui-ci. Enfin, il faut noter que comme tous les projets, celui-ci est destin voluer au fil du temps.

Mots-cls : Android 2.1, Java, Dpense nergtique, maps

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

INTRODUCTION
Dans le cadre de notre prparation au diplme de Licence L3 parcours Informatique, nous avons t amens effectuer notre projet sous l'encadrement de M. Philippe Lacomme. Il s'agissait au cours du projet d'tudier et de dvelopper une application mobile sous Android. Avec l'avance et l'mergence des technologies mobiles, les dveloppements embarqus sont de plus en plus demands sur le march. Avoir un Smartphone est devenu incontournable pour les jeunes de nos jours. D'o nait l'ide de dvelopper une application utile, installer sur les Smartphones permettant de suivre sa dpense nergtique tout en gardant son tlphone dans sa poche ou accroch sa ceinture, puis d'tre en contact avec ses ami(es) et savoir o ils se trouvent grce la Google map intgr au logiciel lui mme. Mis part le dveloppement proprement dit de l'application, la premire tape consistait nous familiariser avec l'environnement Android, puis de choisir les outils conviviaux et envisageables l'aboutissement du projet. Par la suite, nous entamerons la modlisation et le dveloppement de l'application. Ensuite, crer un serveur web pour pouvoir stocker les donnes dans une base de donne est facile d'accs grce un site web que nous avons dvelopp par la suite. Les gros calculs seront implmenter sur le serveur web afin d'liminer ou de diminuer les contraintes matrielles limitant notre application sur les Smartphones. Ce rapport peut ainsi tre subdivis en quatre parties. La premire consistera la prsentation du projet, des objectifs principaux puis les fonctionnalits de base. La seconde partie sera consacre au dveloppement proprement dit de l'application. La troisime partie propose une bauche d'un site web qui servira d'interface entre le serveur web et l'application elle-mme et implmentant toutes les fonctionnalits ncessaires la communication entre elles. Enfin, la quatrime et dernire partie sera rserve prsenter l'application avec les fonctionnalits de base et une notice permettant de comprendre comment utiliser le logiciel.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

PRESENTATION DU PROJET
Contexte
Les Smartphones de nos jours sont quips de plusieurs capteurs capables de mesurer l'acclration, l'altitude ou mme de localiser la position du tlphone avec prcision. Ces derniers peuvent ainsi tre utiliss des fins mdicales.

Interaction client/mdecin

Figure 1 : Aperu globale du systme

Comme on peut le constater dans la figure ci-dessus, linteraction entre lindividu et son mdecin se rsume en trois tapes : Pour commencer la personne utilisant le smartphone doit au pralable crer un compte utilisateur sur le site web, qui permet de classer les individus et les diffrencier. En second lieu, le client ayant un compte valid par un administrateur pourra se connecter et disposer des diffrentes fonctionnalits de lapplication Android. Il pourra alors pendant son activit sportive, transmettre les donnes au sein du systme. Pour terminer, les donnes transferes par lutilisateur via le telephone Android seront rcupres par son mdecin personnel qui pourra traiter ces dernires.

Objectif du projet
Le travail qui nous a t demand a t de dvelopper une application mobile sous Android, permettant de mesurer la dpense nergtique d'une personne grce un Smartphone. La principale fonctionnalit tant de mesurer la dpense nergtique pendant une marche, une course pied ou vlo. Au terme de ce projet, l'application devra tre en mesure de deviner automatiquement l'activit de l'utilisateur.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Dans le cadre de ce projet, les fonctionnalits principales demandes sont la rcupration des donnes depuis les capteurs, les coordonnes GPS et l'envoi des donnes acquises sur un serveur web o ils seront traits plus tard. Le fonctionnement et la mise en place du serveur sont dcrits par le schma ci-dessous: Le principe est donc que le Client (ordinateur ou le tlphone mobile), grce son navigateur, envoie une requte http au serveur Web via Internet. Le serveur traitera son tour la requte correspondante et renverra la rponse au Client depuis Internet.

Figure 2 : Communication mobile - Internet - Serveur Web - Base de donnes

Contrainte
Nous sommes limits l'autonomie de la batterie et de la taille de la mmoire du tlphone. Pour pouvoir communiquer avec le serveur web et s'changer des donnes, le tlphone doit tre connect Internet (abonnement chez un fournisseur). Par rapport au tlphone, le serveur prsente un grand avantage du point de vue mmoire qu'autonomie. Pour l'instant, le serveur web est hberg temporairement sur le serveur de l'ISIMA. La difficult surviendrait lorsque le site web changera de serveur. C'est dire trouver un moyen de changer automatiquement la nouvelle adresse sur chaque application sans l'intervention de l'utilisateur et sans recompiler l'application.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

DEVELOPPEMENT MOBILE
Prsentation (environnement de dveloppement)
Les technologies mobiles prennent de plus en plus de place sur le march. Les Smartphones sont considrs comme des petits ordinateurs et dots d'un systme d'exploitation s'appuyant sur un noyau Linux. Cependant, ils diffrent des ordinateurs classiques par le cycle de vie d'une application. Sous Android, une application est compose d'une ou plusieurs activits. Une activit est la base d'un composant pour la cration d'interfaces utilisateur. Afin de facilit la cinmatique de l'application, il est prconis de n'avoir qu'une interface visuelle par activit.

Figure 3 : Cycle de la vie d'une application (LIBRAIRIE.IMMATERIEL.FR/FR/READ_BOOK/9782815002028/DEVELOPPEZ-POURANDROID_SPLIT_001)

- L'activit dmarre : la mthode onCreate est appele. - Pendant l'utilisation d'une activit, l'utilisateur presse la touche Accueil, ou bien l'application tlphone, qualifie comme prioritaire et qui interrompt son fonctionnement par un appel tlphonique entrant. L'activit est arrte (appel de onStop), le dveloppeur dtermine l'impact sur

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

l'interface utilisateur, par exemple la mise en pause d'une animation puisque l'activit n'est plus visible. - Une fois l'appel tlphonique termin, le systme rveille l'activit prcdemment mise en pause (appel de onRestart, onStart). - L'activit reste trop longtemps en pause, le systme a besoin de mmoire, il dtruit l'activit (appel de onDestroy). - onPause et onResume rajoutent un tat l'activit, puisqu'ils interviennent dans le cas d'activits partiellement visibles, mais qui n'ont pas le focus. La mthode onPause implique galement que la vie de cette application n'est plus une priorit pour le systme. Donc si celui-ci a besoin de mmoire, l'Activity peut tre ferme. Ainsi, il est prfrable, lorsque l'on utilise cette mthode, de sauvegarder l'tat de l'activit dans le cas o l'utilisateur souhaiterait y revenir avec la touche Accueil. Android se base sur un noyau Linux 2.6. Le SDK Android possde une bibliothque de librairie de plusieurs classes java de base pour plusieurs types d'application (exemple : OpenGL|ES pour la 3D, SSL pour les protocoles de scurit, etc.). Une application Android se repose sur un Framework qui facilite l'utilisation des classes de base et sert d'interface entre les "Librairies" et les applications.

Figure 4 : Architecture plateforme Android ( HTTP://FLEXGURUIN.WORDPRESS.COM/CATEGORY/ANDROID)

Android est un systme d'exploitation pour tlphone portable de nouvelle gnration dvelopp par Google. Celui-ci met disposition un kit de dveloppement (SDK) bas sur le langage Java. Nous avons eu l'occasion d'utiliser deux outils de dveloppement : NetBeans et Eclipse. La seule diffrence que nous avons constate, se situe au niveau de l'dition de l'interface graphique. Sous clipse, l'diteur graphique est un diteur wysiwyg (What You See Is What You Get) ce qui n'est pas le cas pour NetBeans o il faut saisir le code pour gnrer l'interface graphique.

10

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Pour la suite du projet, nous utiliserons NetBeans comme cela a t demand, et pour mieux comprendre le fonctionnement de l'interface graphique l'aide du code.

Figure 5 : IDE NetBeans

Nous vous invitons consulter l'url "HTTP://KENAI.COM/PROJECTS/NBANDROID/PAGES/INSTALL " pour voir les tapes d'installation du plugin Android, sur NetBeans IDE. Le kit de dveloppement Android est tlchargeable gratuitement sur : "HTTP://DEVELOPER.ANDROID.COM/SDK/INDEX.HTML" ainsi qu'un guide d'installation. Voici quoi ressemble le SDK Android (SDK Manager) aprs l'installation et lancement :

Figure 6 : Android SDK and AVD Manager

11

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

La figure (6) montre le lancement d'un mulateur Android sur le port : 5554 du localhost, parmi 4 mulateurs.

Modlisation
Diagramme de cas d'utilisation

Figure 7 : Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation ci-dessus nous montre l'interaction entre l'utilisateur et l'application. Les fonctionnalits principales sont marche, course et vlo. L'utilisateur doit s'authentifier sur le serveur web pour pouvoir utiliser l'application. Une fois connect, il peut configurer les capteurs (activer et dsactiver), le GPS ainsi que les paramtres de connexion.

12

Dveloppement Mobile - Android 2.2 Diagramme de classe

Anne 2010 - 2011

Figure 8 : Diagramme de classe

13

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Implmentation

Figure 9 : Communication Android/ Serveur Web/ Base de donnes

Lenvironnement de dveloppement sous Android se fait sous JAVA. Nous avons deux choix doutils pour le faire : NetBeans et Eclipse. Cependant, sur chacun de ces outils doit tre install le plugin qui permettra de dvelopper des applications sous Android. Pour s'excuter sur les appareils mobiles Android, le programme en java doit tre converti. Dalvik est la machine virtuelle qui gre la plate-forme Java sur les appareils mobiles Android. Elle permet d'excuter les applications qui ont t converties en un excutable compact Dalvik (.dex), un format adapt aux systmes limits en termes de mmoire et de vitesse du processeur. Dans tout le projet, nous utiliserons NetBeans car nous avons constat moins de bug. Pour mieux structurer la logique application, nous lavons spar en modules. Une premire classe , qui contient les classes suivantes : La classe connexion , contient les mthodes et les protocoles de connexion au serveur web La classe ActionViewBar , contient les paramtres utilisateur (login, position, tat de connexion) ainsi que la date en temps relle. La classe HardSensor , contient les mthodes qui permettent de manipuler et rcuprer les donnes de chaque capteur ainsi que la position partir du GPS. La classe iService , contient le service et les mthodes qui permettent denvoyer rgulirement et priodiquement les donnes sur le serveur.

En cas de coupure de la connexion Internet, les donnes sont crites dans un fichier texte. Grce la classe iService , lapplication enverra les donnes ds que la connexion sera rtablie. L'interface graphique Nous vous invitons consulter un document sur la page personnel de M. Philippe Lacomme : "HTTP://WWW.ISIMA.FR/~LACOMME/DEVPORTABLE/TUTORIAL_ANDROID.PDF".

14

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Android utilise des fichiers ressources xml : "main.xml", pour gnrer une interface graphique (ou view). Ce fichier est appel par le fichier principal "main.java" grce la commande "setContentView(R.layout.main)". "R" est un fichier ressource de l'application contenant tous les identifiants des widgets (rfrences vers les widgets). Il est gnr automatiquement par le SDK.

Figure 10 : view xml

La figure ci-dessus nous montre comment gnrer une interface graphique en xml. Les composants ou widgets sont dfinis par des balises et les attributs reprsentent les proprits. Pour placer les widgets, Android dispose deux types de gestionnaire de disposition (ou layout) : LinearLayout (dispose les widgets horizontalement ou verticalement comme ci-dessus) , TableLayout (layout en forme de tableau). "<TextView>" permet de crer un widget "label" . La proprit "android:text" rcupre et affiche dans le widget, le contenu de la ressource "string" ayant le nom hello rfrenc par "@string/hello". La proprit "android:id" permet de rajouter automatiquement dans le fichier "R", l'identifiant du widget. Gestion d'vnement

Figure 11 : Gestion d'vnement click d'un bouton

Le code de la figure ci-dessus permet d'crire "Hello World" dans la zone de texte "zoneText" lors d'un clique sur le bouton "bouton". "onCreate" crer le view du fichier "main.xml" prcdent lors de l'appel. Au bouton est assign un listener (couteur d'vnement clic) grce

15

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

"setOnClickListener". "onClick(View v)" excutera l'instruction du bloc. "v.getId" rcupre l'identification du ou des widgets cliqus. Gestion des capteurs

Figure 12 : Rcupration des valeurs du capteur

Le code de la figure 12 nous montre comment rcuprer une instance du capteur de type "TYPE_ACCELEROMETER" afin de rcuprer les valeurs (x,y,z) correspondant lorsque la mthode "onSensorChanged" est appele (la valeur des capteurs change). L'vnement "event" contient alors les valeurs de chaque coordonne sous forme d'un tableau.

16

Dveloppement Mobile - Android 2.2 Gestion des services

Anne 2010 - 2011

Figure 13 : Manipulation service

Cette figure nous montre comment crer un service. On peut constater que lon utilise la mthode intent , cette dernire est une description abstraite dune opration effectuer. Elle permet le dialogue travers le systme partir des canaux qui lui sont ddis. Par exemple : Quand le mobile reoit un appel, la plateforme lance un intent signalant larriv dun appel. Les "Intent" permettent d'envoyer des donnes dans toute l'application puis rcuprer par un "BroadcastReceiver". Le "Timer "timer" permet de fixer une frquence priodique d'envoyer des donnes en utilisant la mthode "scheduleAtFixedRate". Le service peut tre dmarrer (startService) ou arrter (stopService).

17

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Communication Java / PHP L'un des objectifs principaux de ce projet tant de faire communiquer l'application Android (Java) avec le serveur web grce au site web (PHP). Pour cela, nous avons deux possibilits : utiliser directement les sockets ou utiliser des packages de classe manipulant les protocoles Http implmentant les sockets, dans le code java. Nous avons opt pour l'utilisation des packages Http de Apache renfermant tous les protocoles et outils pouvant manipuler les flux de donnes sur Internet.

Les packages utiliss sont les suivants avec leurs liens de tlchargement et leurs documentations respectifs : apache-mime4j-0.4.jar Fournit un analyseur pour des donnes XML. Il ne traite que la structure des flux de donnes XML. Utilise pour aider dvelopper des fonctionnalits dE/S. Permet dutiliser les fonctionnalits du protocole http cot client, le rle de ce package est de transmettre et recevoir des messages http. Son objectif est la mise en uvre des aspects les plus fondamentaux du protocole http et dviter un encombrement du fonctionnement des services cot client et serveur. Utilis pour typer des documents transfrs par le protocole http.

commons-io-2.0.1.jar httpclient-4.0-beta2.jar

httpcore-4.0-beta3.jar

httpmime-4.0-beta1.jar

- apache-mime4j-0.4.jar : http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.james/apache-mime4j/0.4 - commons-io-2.0.1.jar : http://grepcode.com/snapshot/repo1.maven.org/maven2/commons-io/commons-io/2.0.1 - httpclient-4.0-beta2.jar : http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpclient/4. 0-beta2 - httpcore-4.0-beta3.jar : http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpcore/4.0 -beta3 - httpmime-4.0-beta1.jar : http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpmime/4 .0-beta1

18

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Figure 14 : import package apache http

Figure 15 : Fonction authentification mthode Get

La figure 15 montre l'utilisation de la mthode HttpGet. La fonction authentification retourne une chaine de caractre envoye par le serveur qui est dans notre cas : - "Id_OK" si l'utilisateur est membre actif, - "Compte non actif." si l'utilisateur n'a pas encore t valid par l'administrateur, - "Mauvais numeros d'acces" si le code d'accs est erron, - "Mauvais mot de passe." si le mode de passe est erron,

19

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

- "Identifiant ".$log_iconnect." inconnu !" si l'utilisateur n'est pas membre du site ($log_iconnect : login de l'utilisateur). Les chaines de caractres prcdemment cites sont utilises pour tester l'tat des utilisateurs qui se connecte et utilise l'application. Remarquons que sans authentification, l'utilisateur ne pourra pas accder l'application (l'application reste sur la page d'authentification).

Figure 16 : Envoie de donne utilisant la classe connexion (methode POST)

La figure 16 montre comment envoyer un fichier sur le serveur. Les paramtres renseigner de la fonction par ordre sont : le contexte (l'application parent), l'adresse url du site, le login - mot de

20

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

passe - code d'accs de l'utilisateur, l'action ou l'activit de l'utilisateur ("Marche, Course ou Vlo"), le nom du fichier envoyer (fichier local sur le mobile) et le nom du paramtre $_FILES["..."] de la page php qui recevra le fichier.

Prsentation de l'application

Figure 17 : Android Sport prsentation gnrale

La figure ci-dessus correspond la vue densemble des diffrents onglets prsent dans notre programme que nous avons nomm Android Sport.

21

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011 Au premier lancement de l'application, il faut se connecter sur le site web pour crer un compte et obtenir un code de connexion sur son e-mail. Aprs la validation du compte par l'administrateur, l'utilisateur peut ensuite accder toutes les fonctionnalits de l'application.

Figure 18 : Android Sport Authentification

Une fois connect, l'utilisateur peut accder chaque fonctionnalit de l'application grce aux diffrents onglets ci-dessous :

L'onglet "Accueil" affiche un message de bienvenue et assure que l'utilisateur est bien connect. Prochainement, sur l'accueil sera affich l'activit de l'utilisateur et sa dpense nergtique. Ce qui n'est pas le cas, car le cadre du projet consiste collecter les donnes puis les envoyer sur le serveur. Sachant que l'interprtation de ces donnes est hors de notre comptence. (chantillon des donnes - voir annexe)
Figure 19 : Android Sport Accueil

Pour le moment, l'onglet "Tracking" permet l'utilisateur de choisir une activit. Il suffit de cliquer sur l'un des boutons "Marche", "courir" ou "Vlo" pour l'activer. L'application va donc collecter les donnes des capteurs puis l'envoyer au serveur grce ses paramtres de connexions (login, mot de passe et code), priodiquement afin de minimiser l'utilisation simultane des capteurs du rseau WiFi (contrainte d'autonomie de la batterie). En cas de coupure de connectivit, les donnes collectes seront sauvegardes sur un fichier en attendant son rtablissement.

Figure 20 : Android Sport Tracking

22

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

L'onglet "Carte" permet de localiser et de marquer la position de ses amis (es) sur la "google map" de l'application. Dans la version suivante, l'onglet "Amie" affichera la liste des amis(es) ainsi que quelques informations comme l'tat de la connexion, le login et leurs positions respectives.

Figure 21 : Android Sport - Fonction Amie

L'onglet "Config" permet de sauvegarder les paramtres de connexion, savoir l'adresse du serveur, le login, le mode passe, le code d'accs. Ainsi, l'utilisateur n'aura plus saisir les paramtres de connexion chaque lancement de l'application. La configuration matrielle permet de choisir les frquences de collecte et d'envoyer des donnes des capteurs afin d'conomiser la batterie du tlphone.

Figure 22 : Android Sport Config

Les problmes rencontrs


Ce projet est notre premire exprience en dveloppement mobile. Plusieurs contraintes nous ont considrablement retards : - Limitation de la dimension de l'cran : choisir un minimum de composants essentiels afficher sur l'cran, pas comme celui des ordinateurs. - Sous Android, il faut grer la reprise de l'tat de l'application aprs une perturbation du cycle de vie de celui-ci. C'est--dire si au cours de son fonctionnement, nous avons un appel entrant ou un message, par ordre de priorit, le systme peut arrter l'activit en cours pour librer de la

23

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

mmoire. Par consquent, le programmeur doit donc sauvegarder des paramtres avant la destruction de l'instance de l'application, pour pouvoir par la suite les recharger. Car c'est une nouvelle instance de l'application qui sera lance aprs la reprise. Grce aux paramtres sauvegards, nous avons l'impression que l'application tait juste rduite. - Au niveau de la compatibilit de certain composant intgrer notre application.

DEVELOPPEMENT WEB
Prsentation
Le serveur Web est l'lment essentiel garantissant le stockage des informations de taille importante, car le tlphone ne dispose pas assez de mmoire suffisante. L'objectif du serveur Web dans ce projet est d'hberger une application permettant de collecter les informations notamment de l'utilisateur et d'en assurer le traitement des donnes. Lors de la premire utilisation, l'utilisateur doit se connecter sur le site Web afin d'enregistrer ses informations qui seront stockes dans la base de donnes du serveur Web. Par la suite le login et le mot de passe de son choix ainsi qu'un code gnr automatiquement lui permettra de se connecter sur le serveur et utiliser l'application installe sur le tlphone. Une fois connect sur le site, l'utilisateur pourra donc voir son profil ou le modifier par la suite en cas de besoin. Une partie rseau sociale donne l'utilisateur de chercher des amis (es), comme sur Facebook et twitter, et d'envoyer une demande d'amis (es) et de l'ajouter dans ces contacts. L'utilisateur concern aura le choix d'accepter ou de refuser la demande en question. Un compte administrateur permet un utilisateur privilgi, d'accepter ou de refuser une ou plusieurs demandes de cration de compte afin d'assurer facilement la scurit ainsi que la gestion de capacit.

24

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Modlisation

Figure 23 : Diagramme de classe site web

Implmentation
- styles2.css : code css implmentant le design du site Web - entete.inc : fichier d'inclusion de l'entte de la page web - pied_page.inc : fichier d'inclusion du pied de page - index.php : page d'accueil du site web - inscript.php : inclus le formulaire d'inscription de la page d'inscription - valid_inscr.php: script qui vrifie si le champ a bien t rempli si oui, enregistrement des informations de l'utilisateur dans la base de donnes.

25

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

- login.php : script vrifiant si le login et le mot de passe entr par l'utilisateur sont corrects. S'ils sont corrects, on accde l'espace membre en appelant le script '' membre.php ''. - membre.php: script de l'espace membre incluant: 1. Vrification s'il y a une demande d'ami 2. Affichage du profil utilisateur 3. Modification du profil utilisateur 4. Gestion Ami - ami.php : gre la recherche de personnes membres et possibilit de demande d'ajout la liste d'ami, inclus aussi l'acceptation ou le refus d'amis.

Prsentation lINRA
Durant notre projet nous avons eu loccasion de prsenter notre travail lors dune runion lINRA (CHU) en prsence des personnalits suivantes : J.M.Chardigny : Directeur de Recherche INRA et Directeur de l'Unit de Nutrition Humaine (UNH). B.Morio : Directrice de Rechercheur INRA, responsable de l'quipe Contrle de l'homostasie lipido-nergtique et obsit (CHLEO). P.Dusch : Vice prsidente de l'Universit Blaise Pascal. P.Lacomme : Maitre de confrence LIMOS/ISIMA. M.Duclos : Professeur et chef de service de la Mdecine du Sport et des Explorations Fonctionnelles au CHU de Clermont. S.Rousset : Ingnieur de recherche INRA au sein de l'quipe CHLEO, en charge de la modlisation de la dpense nergtique. La prsentation de notre travail lors de cette runion faisait partie de notre projet, tenant compte que ce dernier est en liaison entre lISIMA et lINRA(CHU).

26

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Ce qui reste faire


Pour atteindre l'objectif, il nous faut atteindre et comprendre comment interprter les donnes collectes partir de chaque capteur. - deviner automatiquement l'activit actuelle de l'utilisateur (donc l'valuation de la dpense nergtique) - affichage de la liste des amis(es) - modification des donnes paramtres de l'utilisateur (sur le serveur web) depuis le mobile Plusieurs fonctionnalits peuvent encore tre amliores et rajoutes : - plateforme "Tchat" pour permettre aux utilisateurs membres (et amis (es)) de s'envoyer des messages instantanment. - trac de la trajectoire de l'activit de l'utilisateur.

27

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

CONCLUSION
Au bout de notre cursus en licence informatique, nous avons t chargs de raliser un projet de fin d'anne. Notre travail s'est bas sur le dveloppement d'un programme sur les technologies mobiles (Smartphone). Ceci nous a amen dcouvrir une nouvelle plateforme de dveloppement et enrichir notre savoir et notre exprience. L'application que nous avons ralis permet d'hors et dj un utilisateur d'enregistrer au pralable de s'authentifier et ainsi il lui est permis d'accder aux diffrentes fonctionnalits de l'application. En outre, la sauvegarde de ses paramtres d'accs, le transfert des donnes vers le serveur lors d'une quelconque activit. Mais encore, l'utilisateur peut connaitre la position GPS de ses amis pour d'ventuelles activits sportives collectives.

28

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

ANNEXE
Processus de compilation d'un code Android

Figure 24 : Compilation Android ( http://revistalinux.net/cursos/java-y-android/attachment/android-compilation)

29

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Rfrences et bibliographies
http://fr.wikipedia.org/wiki/Machine_virtuelle_Dalvik http://developper.android.com Android A PROGRAMMERS Guide [Jerome (J.F) DiMarzio] Mc Graw Hill The Busy Coders Guide to Android Develoment [Mark L.Murphy] COMMONSWARE Developper avec les API Google Maps Applications web, Iphone/Ipad et Android [Fabien Goblet _Michel Dirix_Loic Goblet_Jean-Philippe Moreux]

30