Vous êtes sur la page 1sur 5

06/01/12

Dvelopper une application mobile sous Android -

Osaxis recrute !

Accueil

Mtiers

Rfrences

Socit

Veille

Intranet

Nous contacter

Thmes
Derniers articles J2EE LAMP Microsoft .NET Partageons nos connaissances ! Dveloppement Mobiles Outils de test Autres Dvelopper une application mobile sous Android Par Sbastien Valle, lundi 2 mai 2011 Dans le cadre de sa veille technologique, Osaxis travaille sur de nombreux sujets techniques et souhaite partager ses connaissances. Des articles sont rgulirement mis en ligne sur des sujets divers et varis afin de vous faire part des actualits du moment tout en conservant notre impartialit.

Veille technologique

1. Origine et prsentation d Android


Android est un systme d exploitation bas sur le noyau Linux, destin aux tlphones portables, tablettes tactiles, et autres terminaux mobiles. C est en 2007 que Google, aprs le rachat de la socit Android Inc., annonce l objectif de dvelopper des standards dits open source pour appareils mobiles. Parmi les constructeurs qui ont dj opt pour le systme d exploitation Android, nous pouvons citer HTC , avec une large gamme de tlphones portables dont le Nexus One (de Google) ; Samsung avec ses gammes Galaxy Spica, Tab, Teos et S ; Sony Ericsson ; Motorola etc. En forte progression depuis un an, Android est actuellement un des systmes d exploitation mobile les plus reprsents en France. La course la prise de parts de march s intensifie avec par exemple Nokia qui abandonne son systme d exploitation Symbian OS au profit de Windows Phone 7, dvelopp par Microsoft. C ertains constructeurs ont finalement pris le pari de sortir des quipements mobiles sous deux systmes d exploitation, WP7 et Android en l occurrence pour HTC . Au niveau du dveloppement d applications, Android utilise un Framework Java et propose un environnement de dveloppement complet comprenant un mulateur, un dbogueur et un analyseur de mmoire et de performance. C et article prsente et dcrit les diffrents aspects du dveloppement d applications sur Android. La version actuelle d Android est la 2.3 Gingerbread (Pain d pice) sortie le 6 dcembre 2010, mme si la plus utilise reste pour le moment la 2.2 FroYo. C haque nouvelle version d Android apporte son lot de nouveauts, comme de nouvelles applications prinstalles dans l OS, des amliorations de la gestion de la batterie, des volutions sur l interface utilisateur, ou la prise en charge de format vido et protocole de communication supplmentaires.

2. Environnement de dveloppement
Le dveloppement d applications pour Android ncessite au pralable trois tapes indispensables : L installation d un JDK (version 5 minimum), ncessaire pour les dveloppements Java ; L installation du SDK (Software Dvelopment Kit) Android, qui correspond au kit de dveloppement de Google. C e kit, tlchargeable gratuitement, contient l ensemble des outils permettant le dveloppement d application Android, ainsi qu un mulateur d quipement mobile pour tester et faire fonctionner ses applications ; L installation d un environnement de dveloppement Java et de son plugin adapt, permettant de crer des projets Android, de dvelopper des applications, ainsi que de compiler et lancer les applications sur l mulateur ou directement sur un mobile connect en USB. L outil de dveloppement le plus rpandu dans le domaine est Eclipse (version 3.5 minimum) proposant le plug-in ADT (Android Development Tool). C ette solution est bien documente et semble tre la plus aboutie actuellement sur le march. Il existe nanmoins des plug-ins Android pour les autres outils de dveloppement Java tels que Netbeans ou IntelliJ.

3. Arborescence d un projet Android


Tout comme bon nombre de technologies actuelles, les sources d une application Android possdent une structure bien dfinie qui doit tre respecte. C es arborescences permettent non seulement de rendre les projets plus lisibles et organiss, mais aussi de simplifier le dveloppement en supprimant les contraintes de rfrencement des ressources. Lors de la cration d un nouveau projet, voici l arborescence qui est automatiquement gnre :

osaxis.fr/blog/

/26-developper-une-application-mobile-sous-android

1/5

06/01/12

Dvelopper une application mobile sous Android src : rpertoire contenant l ensemble des sources du projet. Il contient les classes de type activit (voir ci-dessous) qui grent entre autre le cycle de vie d une page, mais aussi les classes permettant de piloter les diffrentes fonctions de l application. gen : rpertoire contenant l ensemble des fichiers gnrs par le plugin correspondant l environnement de dveloppement. Aucune modification ne doit tre faite dans ces fichiers. androidManifest.xml : fichier XML dcrivant l application et ses composants, tels que les activits, les services etc. Lors de la cration d une activit, une erreur courante pour un premier projet Android est d oublier de la dclarer dans le fichier manifeste. C est une tape indispensable pour le fonctionnement de l application. Le manifeste est en quelque sorte la carte d identit de l application, et permet d autoriser l excution des activits et autres actions de l application (fonctionnement que l on retrouve dans diffrents formats d application J2EE). res : rpertoire contenant toutes les ressources telles que les images, les vues de l interface graphique, etc. ncessaires l application. C e rpertoire est structur par dfaut de la manire suivante : res/drawable : contient les ressources de type image ; res/layout : contient les descriptions des interfaces graphiques au format XML (les vues) ; res/xml : contient les fichiers XML supplmentaires (non prsents par dfaut) ; res/menu : contient la description des menus, composants trs courants d une vue ; res/values : contient diverses ressources, tels que les textes, qui sont empaquetes sans aucun traitement. Au moment de la compilation du projet, l application finale est gnre au format APK, dans le rpertoire bin de l arborescence. C est ce fichier qu il faut ensuite dployer sur les quipements afin de pouvoir faire tourner l application.

4. Principe de programmation
La programmation sous Android est compose de plusieurs lments fondamentaux : les activits, les vues, les ressources et le manifeste. Les activit s Une activit correspond une page de l application et se place dans le dossier src de l arborescence. C oncrtement, il s agit d une classe hritant de la classe Activity, et qui comprend un ensemble de mthodes correspondant au cycle de vie de cette page. Le dveloppeur surcharge ces mthodes en fonction des besoins, tels que le dmarrage d une activit, l initialisation de la page ou la destruction de l activit. C ette classe comprend galement le code des vnements et des actions que peut effectuer l utilisateur, comme l enregistrement des donnes, la navigation vers d autres pages, le dmarrage d un service etc. Voici un exemple de la structure d une activit :

osaxis.fr/blog/

/26-developper-une-application-mobile-sous-android

2/5

06/01/12

Dvelopper une application mobile sous Android -

L enchanement des activits est similaire une pile. Au dmarrage d une nouvelle activit, celle-ci est positionne en haut de la pile. Il s agit de l activit courante de l utilisateur. Lorsque ce dernier dcide de revenir en arrire, cette activit est supprime du haut de la pile, et l utilisateur revient donc l activit prcdente. Les es

Gnralement, aprs quelques phases d initialisation, la premire action d une activit est de lancer une vue. La vue reprsente l interface graphique. Il s agit de fichiers XML situs dans le rpertoire Layout de l arborescence. Pour crer une vue, le dveloppeur a la possibilit de manipuler directement le fichier XML, qui dcrit les lments prsents sur la page, tels que les champs de saisies, les boutons, les cases cocher. Voici un exemple du code d un bouton et d une case cocher :

La premire balise (LinearLayout) correspond une zone de l cran dans laquelle les lments sont positionns. Les deux balises suivantes (C heckBox et Button) reprsentent

osaxis.fr/blog/

/26-developper-une-application-mobile-sous-android

3/5

06/01/12

Dvelopper une application mobile sous Android la vue d une case cocher et d un bouton. C haque balise est paramtrable travers un ensemble de paramtres tels que la largeur (android:layout_width) ou l image de fond (android:background). Mais il existe galement des outils WYSIWYG permettant de crer une vue de faon graphique, savoir de glisser/dposer les composants souhaits sur la vue et de visualiser directement le rsultat. C haque lment mis en place est bien sr paramtrable via la modification de ses proprits. Il est galement possible de crer et d ajouter des lments une vue directement partir de l activit. C ette dernire solution, bien que non recommande, peut parfois s imposer aux dveloppeurs en fonction de contraintes, telles que le chargement dynamique de contrles. Dans tous les cas, chaque lment de la page est ensuite accessible et manipulable par l activit qui a lanc la vue. Les ressources On appelle ressource tous les lments tels que les images, les textes et autres fichiers qui sont utiliss par la vue. C est entre autre grce ces ressources qu il est possible de grer le multilinguisme, les diffrentes tailles d images, etc. Le manifeste Le dernier lment fondamental d une application Android est le manifeste, qui contient la description de son application Android. Par exemple, le nom de l application, le numro de version mais galement la liste de toutes les activits. Avant de conclure cette partie, voici la prsentation d un autre lment incontournable du dveloppement Android : les Intents. Les Intents reprsentent un mcanisme de programmation permettant de dclencher une activit ou une action au sein de l application. Une des premires utilisations des Intents consiste par exemple dmarrer une seconde activit (ou page) de son application. Mais cette utilisation constitue une infime partie des possibilits de ce mcanisme, qui permet galement d envoyer des donnes, des messages ou de dclencher des activits d une autre application. Par exemple, pour dmarrer une activit d appel tlphonique : Itn itn =nwItn(netCL_CIN; net net e netItn.ALATO) itn.eDt(r.as(tl+32468 ); netstaaUipre e:313579 ) satciiyitn) trAtvt(net; C et article prsente les principes de base de la programmation sous Android, mais la plateforme comprend galement un panel important d API permettant de grer la golocalisation, l appareil photo, l acclromtre (capteur permettant de mesurer l acclration de l appareil, secousses etc.) et autres fonctionnalits des smartphones actuels. Android gre de plus les graphismes en 3D via la librairie OpenGL.

5. Persistance des donn es

La persistance des donnes est un point essentiel de l utilisation d une application, et cela pour n importe quel support ou plateforme. Le dveloppement sous Android offre plusieurs possibilits concernant ce point. Voici un aperu des diffrentes solutions, de la plus simple mettre en place la plus complexe. Il existe quatre moyens de faire persister des donnes, chacun ayant une utilit pour un cas dfini :

- la premire approche concerne la sauvegarde de l tat de son application, lorsque celle-ci est dcharge de la mmoire. C et enregistrement, qui se fait dans la mmoire de l quipement, est utile, par exemple lorsque l utilisateur retourne sur une activit qu il avait pralablement mise de ct, afin de retrouver l tat d un formulaire au moment de la saisie. - la seconde solution revient enregistrer les paramtres ou prfrences utilisateur. Il s agit d un ensemble de couples cl/valeur, stockes dans un fichier XML, permettant l utilisateur d enregistrer le paramtrage de son application, ou mme de son systme (la langue, le type de menu, un fond d cran). - le troisime cas concerne la sauvegarde de donnes propres l application. Il s agit d une sauvegarde par fichier plat. Android fournit un ensemble de fonctionnalits permettant de lire et crire simplement dans un fichier. - enfin, la dernire solution, plus familire au dveloppeur, est l utilisation d une base de donnes SQLite. Pour ce cas, il s agit d un ensemble de tables accessibles via des requtes SQL classiques. Il faut faire cependant attention ne pas conserver les habitudes classiques d utilisation d un SGBDR, car les performances peuvent rapidement se dgrader dans un contexte embarqu. Ainsi, il est prfrable d viter de crer des tables contenant une grande quantit de champs, ou des requtes complexes comprenant moultes jointures.

6. Conclusion
Dbut 2011, Android fait partie des plus grands concurrents de l'iOS d Apple, et le nombre de tlphones portables adoptant ce systme d exploitation ne cesse de crotre. A la diffrence des systmes propritaires, Android permet de toucher une plus grande gamme de tlphones, et les constructeurs disposent mme de la possibilit d ajouter au systme d exploitation une couche d interface personnalise, comme l interface Sense de HTC . De plus, un des grands atouts d Android vient de son socle Java, facile prendre en main et disposant dj d une importante communaut. Android possde galement un des plus grands rfrentiels d applications (Android Market). Gnralement, chaque application payante trouve son quivalent dans au moins une version gratuite. A noter qu il existe d autres rfrentiels d applications Android tels que Getjar, Androlib, Amazon Appstore etc. C oncernant la publication d applications sur l Android Market, il est obligatoire de payer un

osaxis.fr/blog/

/26-developper-une-application-mobile-sous-android

4/5

06/01/12

Dvelopper une application mobile sous Android droit d entre de 25 dollars US (environ 20 euros). En revanche, aucun contrle n est effectu pour garantir le contenu des applications, mme si Google se rserve le droit de supprimer du Market une application au contenu illicite. Lorsqu une application est payante, 70% de la vente revient l quipe de dveloppement, 30% du montant tant revers au constructeur du mobile et/ou l oprateur. Pour conclure, Android prsente un gros point fort vis vis de ses concurrents grce l adoption de Java. En revanche, les interfaces graphiques XML peuvent parfois tre contraignantes et droutantes, surtout pour les habitus du HTML. Un autre inconvnient rside dans les mises jour du systme d exploitation, qui ne peuvent pas s effectuer sur tous les tlphones. C es mises jour se rvlent en effet difficiles suivre pour les non initis. Enfin, Android ne dispose pas de la force de frappe marketing de ses deux grands rivaux que sont iOS (Apple) et Windows Phone (Microsoft) et doit pour s imposer nouer des partenariats avec des constructeurs. Heureusement, en plus d une base installe dj trs importante, Android offre l intgration d Adobe Flash, les services Google, la libert aux utilisateurs d installer simplement ce qu ils souhaitent sans passer par un outil tel qu iTunes, une mmoire extensible, et surtout un systme d exploitation ouvert et bas sur Java. Article prcdent Article suivant

Publi avec DotC lear


> plan du site cr dits nous contacte r <

osaxis.fr/blog/

/26-developper-une-application-mobile-sous-android

5/5