1 / 52

Développement Mobile

Développement Mobile. Initiation au développement d’applications Android http://www.devmob.sitew.com Rami AMRI (rami.amri@gmail.com) FST 2011/2012. Un périphérique mobile c'est quoi ?. Un écran très petit Pas de clavier/souris L’interface graphique devra être la plus simple possible 

kert
Download Presentation

Développement Mobile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Développement Mobile Initiation au développement d’applications Android http://www.devmob.sitew.com Rami AMRI (rami.amri@gmail.com) FST 2011/2012

  2. Un périphérique mobile c'est quoi ? • Un écran très petit • Pas de clavier/souris L’interface graphique devra être la plus simple possible  • Pas de disque dur mais une ROM • Fonctionne sur batterie • Moyens de communication variés

  3. Avantages • Secteur en pleine explosion • Tendance à remplacer les ordinateurs fixes et même portables dans le futur. • Qui peut se passer de son téléphone portable de nos jours?

  4. Succes Story • Ge Wang et Jeff Smith créent l’application « ocarina », En un mois, 400000 personnes ont payé un dollar pour la télécharger . • Steve Demeter a développé un jeu pour iPhone appelé Trism durant ses temps libres en y travaillant la nuit et les week-ends.  il a déjà gagné plus de 250.000$

  5. Android: c’est quoi? • un système d'exploitation open source pour Smartphones, PDA et terminaux mobiles • conçu par Android, une startup rachetée par Google, et annoncé officiellement le 5 novembre 2007 • Le symbole d’Android est un petit robot vert appelé Bugdroid. Il est sous licence « creativecommons by (3.0) » et peut donc être utilisé librement

  6. Qui y participe? • Plusieurs entreprises contribuent à Android à travers l’ Open Handset Alliance

  7. Architecture de la plateforme • système d'exploitation fondé sur un noyau Linux, il comporte une interface spécifique, développée en Java, les programmes sont exécutés via un interpréteur JIT • La couche au dessus du noyaucontient les bibliothéques natives d’Androidecrite en C/C++ maisinvoquées via des interfaces Java . Danscettecouche, on trouve le Surface Manager, 2D and 3D graphics, Media codecs, SQL database (SQLite)…

  8. Architecture de la plateforme Le Noyau Linux • Device drivers • Memory management • Process management • Networking

  9. Architecture de la plateforme • Bibliothèques C/C++ • Accès à travers des interfaces Java • Surface manager • 2D and 3D graphics • Codecs Media , SQLite, …

  10. Architecture de la plateforme Android Runtime • Machine virtuelle Dalvik • Un ensemble de librairies noyau qui fournissent la plupart des fonctionnalités disponibles dans les librairies noyau du langage de programmation Java

  11. Architecture de la plateforme Application Framework • Interfaces API • Activity manager – permet de gérer le cycle de vie d’une application

  12. Architecture de la plateforme Applications • un client mail, • un programme pour les SMS, • calendrier, • cartes, • navigateur, • contacts, et d’autres.

  13. Principaux concurrents • Apple avec  iOS • Research In Motion (RIM) avec BlackBerry OS • Samsung avec Bada (même si Samsung utilise aussi Android) • HP avec webOS (En août 2011, HP a annoncé sa décision de ne plus développer de matériel exploitant WebOS) • Nokia avec Symbian OS (en 2011, Nokia a annoncé l'abandon de Symbian) • Microsoft avec Windows Phone

  14. Android Vs les autres

  15. De quoi on a besoin? • Java • SDK Android • IDE Eclipse + plugin ADT (Android Developement Tools) réduit le temps de développement et test

  16. Installation SDK et Eclipse • Pour développer une application Android , on aura besoin de l'éditeur de code Eclipse et le SDK Android 1. Téléchargement et installation d’Eclipse: Sur le site officiel eclipse.org, il y a plusieurs versions, on a besoin d’Eclipse Classic . 2. Téléchargement et installation du SDK Android: télécharger le SDK Android sur le site android.com, dans la section Developers

  17. Installation SDK et Eclipse 3. Installation du plugin Eclipse (ADT) Pour intégrer le SDK Android à Eclipse , dans le menu en haut Help > Instal New Software, clic gauche sur le bouton Add, tapez Android Plugin pour le champ Name et https://dl-ssl.google.com/android/eclipse/dans le champ Location et enfin cliquez sur OK.

  18. Installation SDK et Eclipse

  19. Installation SDK et Eclipse • Eclipse va chercher des informations par rapport à ce plugin, il nous propose Android DDMS et Android Development

  20. Installation SDK et Eclipse 1. Permet de créer des AVD(Android Virtuel Device) qu'on les appelle EMULATEUR 2. Pour créer un projet Android 3. Pour ajouter un nouveau fichier de type XML.

  21. Installation SDK et Eclipse

  22. Création et utilisation de l’emulateur • L’émulateur sert à exécuter le code Java et xml que nous avons développer sans avoir besoin de brancher un téléphone réel • Pour créer un émulateur (AVD) on clique sur cette icone

  23. Création et utilisation de l’emulateur • Ensuite cliquez sur Available package, cochez et enfin Install Selected

  24. Création et utilisation de l’emulateur • Cochez Accept All puis cliquez sur Install.

  25. Création et utilisation de l’emulateur • cliquez sur Virtual Devices >>New . une boite de dialogue s'ouvre, pour créer votre Emulateur vous avez 3 choses à saisir :

  26. Création et utilisation de l’emulateur

  27. Concepts fondamentaux Concepts fondamentaux à préciser : • les activités ; • les vues et contrôles (et leur mise en page) ; • les ressources ; • le fichier de configuration appelé également manifeste.

  28. Concepts fondamentaux • Les vuessont les éléments de l’interface graphique que l’utilisateur voit et sur lesquels il pourra agir. Les vues contiennent des composants, organisés selon diverses mises en page (les uns à la suite des autres, en grille…).

  29. Concepts fondamentaux • Les contrôles(boutons, champs de saisie, case à cocher, etc.) sont eux-mêmes un sous-ensembles des vues. Ils ont besoin d’accéder aux textes et aux images qu’ils affichent (par exemple un bouton représentant un téléphone aura besoin de l’image du téléphone correspondante). Ces textes et ces images seront puisés dans les fichiers ressources de l’application.

  30. Concepts fondamentaux • Une activitépeut être assimilée à un écran structuré par un ensemble de vues et de contrôles composant son interface de façon logique : elle est composée d’une hiérarchie de vues contenant elles-mêmes d’autres vues. exemple : formulaire d’ajout de contacts ou encore un plan Google Maps sur lequel vous ajouterez de l’information. Une application comportant plusieurs écrans, possédera donc autant d’activités

  31. Concepts fondamentaux Le fichier de configuration XMLde l’application. C’est un fichier indispensable à chaque application qui décrit entre autres : • le point d’entrée de votre application (quel code doit être exécuté au démarrage de l’application) ; • quels composants constituent ce programme ; • les permissions nécessaires à l’exécution du programme (accès à Internet, accès à l’appareil photo...).

  32. Concepts fondamentaux

  33. Composantes d’une application Android • Composants applicatifs : • activités ; • services ; • fournisseurs de contenu ; • gadgets ; • Éléments d’interaction : • objets Intent ; • récepteurs d’Intents ; • notifications.

  34. Composants applicatifs • Activity (Activité) représente le bloc de base d’une application. Elle correspond à la partie présentation de l’application et fonctionne par le biais de vues qui affichent des interfaces graphiques et répondent aux actions utilisateur. Une activité correspond à un écran mais elle peut contenir plusieurs vues.

  35. Composants applicatifs • Content providers (fournisseurs de contenus) permet de gérer et de partager des informations. Un même fournisseur permet d’accéder à des données au sein d’une application et entre applications (partage des données).

  36. Composants applicatifs Le serviceest un composant qui fonctionne en tâche de fond, de manière invisible. Ses principales utilisations sont la mise à jour de sources de données ainsi que d’activités visibles et le déclenchement de notifications.

  37. Composants applicatifs • Le gadgetest un composant graphique qui s’installe sur le bureau Android. • Le calendrier qui affiche de l’information ou le lecteur audio qui permet de contrôler la lecture de fichiers sont deux exemples de gadgets que l’on trouve souvent sur un écran d’accueil. .

  38. Éléments d’interaction Intents (intentions) • Les intentions sont des messages système. • Elles sont émises par le terminal pour prévenir les applications de la survenue de différents événements, exp: une modification matérielle (comme l’insertion d’une carte SD) ou l’arrivée de données (telle la réception d’un SMS)

  39. Éléments d’interaction • Vous pouvez non seulement répondre aux intentions, mais également créer les vôtres afin de lancer d’autres activités ou pour vous prévenir qu’une situation particulière a lieu • Exemple : émettre l’intention X lorsque l’utilisateur est à moins de 100 mètres d’un emplacement Y)

  40. Éléments d’interaction Récepteur d’Intents: il permet à une application d’être à l’écoute des autres afin de répondre aux objets Intent qui lui sont destinés et qui sont envoyés par d’autres composants applicatifs

  41. Éléments d’interaction Notification : une notification signale une information à l’utilisateur sans interrompre ses actions en cours

  42. Cycle de Vie d’une application Android

  43. Première application Android • On clique sur la deuxième icône (créer un projet Android) et on aura une boite de dialogue qui va nous permettre de créer notre application.

  44. Première application Android

  45. Première application Android • Project name : Ce nom de projet est totalement indépendant de votre application Android. Ce n’est en fait que le nom donné à votre projet dans votre Workspace sous Eclipse. • Build Target : Spécifier API qu'on souhaite utilisé : Android 1.5 ou Android 1.6 … selon les besoins de notre application et les services qu'on souhaite utilisées. • Application Name

  46. Première application Android • Package Name : Par convention, le nom du package s’écrit de cette forme suivante : extension_de_votre_domaine.nom_du_domaine.nom_du_projetexp: com.LFI3.HelloWorld • Create Activity : c'est l'Activity principale de l'application, on peut la nommer : HelloWorldActivity , cette Activity est représentée par une classe Java HelloWorldActivity.java

  47. Première application Android • Explication de l'arborescence du projet

  48. Première application Android • src : ce dossier contient les sources de votre application (code JAVA) et les packages. • com.LFI3.HelloWorld: un package de votre application. Bien sûr, vous pouvez avoir plusieurs packages dans votre application. • HelloWorldActivity.java : notre principale activité. • gen : dossier qui contiendra le fichier R.java (ce fichier est généré automatiquement à partir de vos vues et fichiers de ressource).

  49. Première application Android • R.java : ce fichier est automatiquement généré par le SDK Android à chaque précompilation. • assets : contient des données qui pourront être utilisées dans votre application (images, vidéos, licence, etc.). • res : c'est le dossier qui contiendra les ressources de votre application (images, vidéos, styles). • drawable-hpdi : contient toutes les images, bitmaps dont vous avez besoin pour votre application en haute résolution.

  50. Première application Android • drawable-ldpi : contient toutes les images, bitmaps dont vous avez besoin pour votre application en basse résolution. • drawable-mdpi : contient toutes les images, bitmaps dont vous avez besoin pour votre application en moyenne résolution. • Icon.png : l'icône de votre application, cette icône sera affichée sur le bureau.

More Related