Programmation Mobile
Android
Rabie JABALLAH: jaballahrabie@gmail.com
Slim BENHAMMOUDA: slim.benhammouda@gmail.com
Plan
1. Introduction
a. Histoire
b. Architecture
c. Les Outils de développement
d. Structure d’un projet Android
e. Le man...
Plan (2)
2. Les Activités (Activity)
3. Les Views et Layouts
4. Les Fragments
5. Stockage
6. La programmation multithreads...
Plan (3)
8. Les content providers et les bases de données
9. Les Broadcast Receivers
10. Les Services
11. Multimedia
12. L...
1. Introduction
Une application mobile est un logiciel développé
pour être installé sur un appareil électronique
mobile.
Exemples OS mobiles
iOS :
C’est le système
d'exploitation mobile
développé par Apple pour
l'iPhone, l'iPod touch, l'iPad
e...
Exemples OS mobiles (2)
Android :
C’est un système
d'exploitation mobile pour
smartphones, tablettes
tactiles, PDA et term...
Exemples OS mobiles (3)
Windows Phone :
est un système d'exploitation
mobile développé par
Microsoft pour succéder à
Windo...
Exemples OS mobiles (4)
Ubuntu Touch :
Ubuntu Touch est une
version d'Ubuntu destinée
aux smartphones et aux
tablettes.
Exemples OS mobiles (5)
Autres :
- FireFox OS
- Blackberry OS
- Tizen OS
Avantages App mobile
- Une interface harmonieuse
- Rapidité et instantanéité
- Un outil de fidélisation
- etc ...
Native Vs Web app
Native :
- Ergonomie conçue
spécifiquement pour le
terminal
- Intégrer toutes les
fonctionnalités du
tél...
Application hybride
Application mobile hybride
=
Native
+
Web
Contraintes de conception des AM
- Certains périphériques sont spécifiques aux
Smartphones
- Les ressources des Smartphone...
A noter
Smartphone =
- Communication ( Intégrer SMS … )
- Mobilité ( Intégrer localisation … )
- Utilisabilité ( Simple … ...
Android
Système d’exploitation Open Source pour
Smartphone, TV, Voitures, Montres …
a. Histoire
2005 : Android PME américaine créée en 2003 rachetée
par Google
2007 : Apple dévoilait l'iPhone
2007 : La créa...
Avantages : Open Source
Android est un projet open source ce qui permet aux
constructeurs de créer leurs propres versions ...
Avantages : Facile à développer
- Langage : Java
- Plusieurs API disponibles; Une API est un
ensemble de règles à suivre p...
Avantages : Flexible
- Android est portable, il s'adapte à beaucoup
de cibles différentes: Les smartphones, les
tablettes,...
Désavantages : Mise à jour
les constructeurs n’assurent pas les mises à
jour vers la dernière version de l’OS de tous
leur...
Désavantages : Malware
Plus que 95% de « mobile malware » sur
Android.
Désavantages : Defragmentation
b. Architecture
Linux kernel
- Android est basé sur un kernel linux 2.6 mais ce n'est
pas linux. Il ne possède pas de système de fenêtrage...
Libraries
- Le navigateur web présent dans Android est basé sur le
moteur de rendu sous licence BSD WebKit.
- La librairie...
Android Runtime
- Dalvik est la machine virtuelle logiciel open-source
- Avec android 5, Dalvik est remplacée par ART
- Le...
Application framework
- Android introduit la notion de services. Un service est
une application qui n'a aucune interaction...
c. Les Outils de développement
Les principaux outils utilisés pour le
développement sur la plateforme
- SDK (Software Deve...
Android 5 !
Eclipse -- > Android Studio
Ant -- > Gradle
d. Structure d’un projet Android
- Au passage à Android Studio, la structure d’un
projet android est devenue similaire à c...
d. Structure d’un projet Android (2)
Android studio “project view”
d. Structure d’un projet Android (3)
Android studio “android view”
e. Manifest .xml
Le fichier AndroidManifest.xml déclare l'ensemble des
éléments de l'application.
C’est un fichier indispe...
e. Manifest .xml (2)
Les composants majeurs d’une application Android sont:
- Activity
- Service
- Content provider
- Broa...
e. Manifest .xml (3)
- Un intent est une description abstraite d’une opération à
réaliser
- il sert à lancer une activité ...
f. Les permissions
Certaines opérations sont réalisables à condition d’en obtenir la
permission
Ces actions sont de plusie...
f. Les permissions (2)
- Pour obtenir une permission spécifique, il faut la renseigner
dans le fichier Manifest.xml via la...
g. Les fichiers de ressources
- Dans le dossier “res”, on met tous les fichiers qui constituent
la partie “vue” de l’appli...
g. Les fichiers de ressources (2)
- On peut spécifier les fichiers à utiliser par l’application au
runtime selon
- la dens...
Liens utiles:
● Guide officiel: http://developer.android.com/guide/index.html
● Le manifest:
http://developer.android.com/...
Prochain SlideShare
Chargement dans…5
×

01 programmation mobile - android - (introduction)

764 vues

Publié le

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
764
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
51
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

01 programmation mobile - android - (introduction)

  1. 1. Programmation Mobile Android Rabie JABALLAH: jaballahrabie@gmail.com Slim BENHAMMOUDA: slim.benhammouda@gmail.com
  2. 2. Plan 1. Introduction a. Histoire b. Architecture c. Les Outils de développement d. Structure d’un projet Android e. Le manifest f. les permissions g. les fichiers de ressources
  3. 3. Plan (2) 2. Les Activités (Activity) 3. Les Views et Layouts 4. Les Fragments 5. Stockage 6. La programmation multithreads 7. Utilisation des Web services
  4. 4. Plan (3) 8. Les content providers et les bases de données 9. Les Broadcast Receivers 10. Les Services 11. Multimedia 12. Les Notifications
  5. 5. 1. Introduction Une application mobile est un logiciel développé pour être installé sur un appareil électronique mobile.
  6. 6. Exemples OS mobiles iOS : C’est le système d'exploitation mobile développé par Apple pour l'iPhone, l'iPod touch, l'iPad et l'Apple TV. Il est dérivé de OS X dont il partage les fondations.
  7. 7. Exemples OS mobiles (2) Android : C’est un système d'exploitation mobile pour smartphones, tablettes tactiles, PDA et terminaux mobiles. C'est un système open source basé sur le noyau Linux.
  8. 8. Exemples OS mobiles (3) Windows Phone : est un système d'exploitation mobile développé par Microsoft pour succéder à Windows Mobile, sa précédente plateforme logicielle qui a été renommée pour l'occasion en Windows Phone Classic
  9. 9. Exemples OS mobiles (4) Ubuntu Touch : Ubuntu Touch est une version d'Ubuntu destinée aux smartphones et aux tablettes.
  10. 10. Exemples OS mobiles (5) Autres : - FireFox OS - Blackberry OS - Tizen OS
  11. 11. Avantages App mobile - Une interface harmonieuse - Rapidité et instantanéité - Un outil de fidélisation - etc ...
  12. 12. Native Vs Web app Native : - Ergonomie conçue spécifiquement pour le terminal - Intégrer toutes les fonctionnalités du téléphone - ... Web app : - Coût de développement réduit - Multi-plateformes - ...
  13. 13. Application hybride Application mobile hybride = Native + Web
  14. 14. Contraintes de conception des AM - Certains périphériques sont spécifiques aux Smartphones - Les ressources des Smartphones sont limitées (Ram, puissance de calcul …) - Le support des versions anciennes du OS
  15. 15. A noter Smartphone = - Communication ( Intégrer SMS … ) - Mobilité ( Intégrer localisation … ) - Utilisabilité ( Simple … ) - Performance ( Compression image … )
  16. 16. Android
  17. 17. Système d’exploitation Open Source pour Smartphone, TV, Voitures, Montres …
  18. 18. a. Histoire 2005 : Android PME américaine créée en 2003 rachetée par Google 2007 : Apple dévoilait l'iPhone 2007 : La création de « Open Hanset Alliance » 2008 : Le premier SDK stable : 1.2 2014 : Android 5
  19. 19. Avantages : Open Source Android est un projet open source ce qui permet aux constructeurs de créer leurs propres versions optimisées pour leurs produits
  20. 20. Avantages : Facile à développer - Langage : Java - Plusieurs API disponibles; Une API est un ensemble de règles à suivre pour pouvoir dialoguer avec d'autres applications.
  21. 21. Avantages : Flexible - Android est portable, il s'adapte à beaucoup de cibles différentes: Les smartphones, les tablettes, la présence ou l'absence de clavier physique ou de trackball, différents processeurs… - Android est personnalisable
  22. 22. Désavantages : Mise à jour les constructeurs n’assurent pas les mises à jour vers la dernière version de l’OS de tous leurs appareils (exemple: samsung galaxy S3: la dernière version disponible : Android 4.3)
  23. 23. Désavantages : Malware Plus que 95% de « mobile malware » sur Android.
  24. 24. Désavantages : Defragmentation
  25. 25. b. Architecture
  26. 26. Linux kernel - Android est basé sur un kernel linux 2.6 mais ce n'est pas linux. Il ne possède pas de système de fenêtrage natif (X window system), la glibc n'est pas supporté, Android utilise une libc customisé appelé Bionic libc. - Enfin Android utilise un kernel avec différents patches pour la gestion de l'alimentation, le partage mémoire, etc. permettant une meilleure gestion de ces caractéristiques pour les appareils mobiles.
  27. 27. Libraries - Le navigateur web présent dans Android est basé sur le moteur de rendu sous licence BSD WebKit. - La librairie Media Framework est basée sur OpenCore de PacketVideo. Elle permet le support des standards audio/vidéo/images. - OpenGL ES (Open Graphics Library for Embedded System) pour la conception d'applications générant des images 3D dérivée de la spécification OpenGL, sous une forme adaptée aux plateformes mobiles ou embarquées.
  28. 28. Android Runtime - Dalvik est la machine virtuelle logiciel open-source - Avec android 5, Dalvik est remplacée par ART - Les libraries Core est l’ensemble des bibliothèques développées par Java. Le langage Java founit avec Android reprend en grande partie l'API JSE 1.5. Il y a des choses qui ont été mis de coté car cela n'avait pas de sens pour Android ( comme les imprimantes, swing, etc.) et d'autres par ce que des APIs spécifiques sont requises pour Android.
  29. 29. Application framework - Android introduit la notion de services. Un service est une application qui n'a aucune interaction avec l'utilisateur et qui tourne en arrière plan pendant un temps indéfini. - Les services cœurs de la plateforme (Core Plateform Services) fournissent des services essentiels au fonctionnement de la plateforme - Les services matériels (Hardware Services) founissent un accès vers les API matérielles de bas niveau
  30. 30. c. Les Outils de développement Les principaux outils utilisés pour le développement sur la plateforme - SDK (Software Development Kit) - ensemble d’api - émulateurs - outils de packaging - outils de debugging - IDE (Integrated development environment) comme Eclipse + ADT ou bien Android Studio
  31. 31. Android 5 ! Eclipse -- > Android Studio Ant -- > Gradle
  32. 32. d. Structure d’un projet Android - Au passage à Android Studio, la structure d’un projet android est devenue similaire à celle d’un projet maven - pour mieux afficher la structure du projet, dans android studio, on peut changer la vue vers la vue “Project” - Il est préférable d’utiliser la vue “Android” qui cache les fichiers et les dossiers qui ne sont pas important pour le projet
  33. 33. d. Structure d’un projet Android (2) Android studio “project view”
  34. 34. d. Structure d’un projet Android (3) Android studio “android view”
  35. 35. e. Manifest .xml Le fichier AndroidManifest.xml déclare l'ensemble des éléments de l'application. C’est un fichier indispensable à chaque application qui décrit entre autres: - le point d’entrée 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...)
  36. 36. e. Manifest .xml (2) Les composants majeurs d’une application Android sont: - Activity - Service - Content provider - Broadcast Receiver
  37. 37. e. Manifest .xml (3) - Un intent est une description abstraite d’une opération à réaliser - il sert à lancer une activité ou un service, ou notifier un receiver - Un intent filter est une description structurée des valeurs d’un intent. Il permet de filtrer les opérations selon - une action (action) - une catégorie (category) - une donnée (data)
  38. 38. f. Les permissions Certaines opérations sont réalisables à condition d’en obtenir la permission Ces actions sont de plusieurs formes : - opérations pouvant entraîner un sur-coût (connexion, échange de données, envoi de SMS par exemple) ; - utilisation de données personnelles (accès aux contacts, aux comptes Google...) ; - accès au matériel du téléphone (prise de clichés, récupération de la position GPS...).
  39. 39. f. Les permissions (2) - Pour obtenir une permission spécifique, il faut la renseigner dans le fichier Manifest.xml via la balise <uses-permission> sous le container <manifest> - On peut aussi spécifier des permissions qui devraient être demandées par des applications tierces pour pouvoir utiliser des composants de notre application (Activity, content provider, Service), ceci est possible via la balise <permission>
  40. 40. g. Les fichiers de ressources - Dans le dossier “res”, on met tous les fichiers qui constituent la partie “vue” de l’application - les images selon la densité de l’écran (dossiers “drawable”) - les layout - les menus - les valeurs: chaînes de caractères internationalisées, couleurs, entiers, tableaux de chaînes de caractères, les styles, les dimensions (tailles de polices de texte ou dimensions appliquées aux différentes vues)...
  41. 41. g. Les fichiers de ressources (2) - On peut spécifier les fichiers à utiliser par l’application au runtime selon - la densité de l’écran du device qui fait tourner l’application - la langue sélectionnée - l’orientation du device - la taille du device - Ceci se fait en ajoutant des termes spécifiques aux noms des dossiers des ressoures: - exemple: values-mdpi: sur un téléphone dont l’écran est de résolution hdpi (240 dpi), prendre les ressources dans ce dossier au lieux de celle par défaut
  42. 42. Liens utiles: ● Guide officiel: http://developer.android.com/guide/index.html ● Le manifest: http://developer.android.com/guide/topics/manifest/manifest-intro.html ● Créer des applications supportant plusieurs résolutions et tailles d’écrans http://developer.android.com/guide/practices/screens_support.html

×