Initiation à la Prog. Sous Android
(Session 1)
med.hossam@gmail.com
Plan
 Statistiques
 Différences entre Mobile App, Mobile Site et Web App
 Développement pour terminaux mobiles
 Outils de développement pour Android
 Android : Architecture générale
 Premier Projet Android
 Composants d'une application Android
 Bonnes Pratiques
16 Mai 2015 med.hossam@gmail.com 2
Mobile Apps vs Web
16 Mai 2015 3med.hossam@gmail.com
Vente des PCs VS Smartphones
16 Mai 2015 4med.hossam@gmail.com
Vente des smartphones par OS
16 Mai 2015 5med.hossam@gmail.com
Différences entre Mobile App, Mobile Site et Web App
Qu’est ce qu’une application mobile ?
Une application mobile est une application développée
spécifiquement pour une plate-forme.
• Par exemple: une application iPhone sera développée en utilisant un
langage de développement propre à Apple et disponible uniquement
sur l’App Store.
16 Mai 2015 6med.hossam@gmail.com
Différences entre Mobile App, Mobile Site et Web App
Qu'est ce qu'une Web App ?
Une Web App est un site mobile enrichi.
L’ergonomie est de meilleure qualité afin de rivaliser avec celle
obtenue via les applications mobiles.
Les Web Apps sont encore très peu connues du grand public mais, ont
un potentiel de croissance intéressant, car elles permettent d’avoir une
application disponible sur plusieurs plates-formes.
16 Mai 2015 7med.hossam@gmail.com
Différences entre Mobile App, Mobile Site et Web App
Qu'est ce qu'un Site Mobile ?
Un site mobile est un site internet qui est optimisé pour les
smartphones. Afin de consulter un site mobile, on doit être connecté à
l'internet et on y accède via le navigateur web du smartphone.
Le référencement est primordial, de la même manière qu'un site
web. Le langage de développement est également similaire à celui
utilisé pour développer un site internet.
16 Mai 2015 8med.hossam@gmail.com
Pourquoi développer une application mobile ?
Pour les novices et passionné(e)s
• Maîtrise de nouveaux langages de programmation
• Développer des nouvelles compétences
• Développer sa propre application
• Obtenir une rémunération ponctuelle ou récurrente
16 Mai 2015 9med.hossam@gmail.com
Pourquoi développer une application mobile ?
Pour les professionnels
• L’application augmente l’accessibilité au site
• L’application permet de générer du trafic
• Le marché est en pleine croissance
• Une application contribue à l’image de marque
16 Mai 2015 10med.hossam@gmail.com
Comment réussir son application mobile ?
Les règles d’or à retenir :
• Définition de la cible marketing
• Définition du concept
• La richesse et l'intérêt du contenu
• Originalité de l'application
• Le côté addictif (pour les jeux)
• La force de la communauté, la sécurité, le confort d’utilisation.
16 Mai 2015 11med.hossam@gmail.com
Développement pour terminaux mobiles
• Historiquement, développement en code C/C++ de bas niveau
oBesoin de comprendre et connaitre le HW
• J2ME
oJVM fournit une abstraction du HW
o(+) Développement en externe
o(–) Accès restreint au HW
16 Mai 2015 med.hossam@gmail.com 12
Développement pour terminaux mobiles : Android
• Android fait partie d’une nouvelle vague de système d’exploitation
conçus pour du HW plus performant
16 Mai 2015 med.hossam@gmail.com 13
Android déjà 8 ans !!
Annoncé officiellement le 5 novembre 2007
16 Mai 2015 14med.hossam@gmail.com
Android EN QUELQUES MOTS
• Plate-forme complète Open Source pour appareils mobiles (Smartphones,
PDA, tablettes...)
o code source disponible : http://source.android.com/
o fork de la SDK sous licence : http://developer.android.com/sdk/terms.html
o Android n'est pas complètement libre (utilisation de bibliothèque propriétaire)
• Conçu par Android en 2003, une startup rachetée par Google en 2005, et
annoncé officiellement en 11/2007.
• Basé sur le noyau Linux
16 Mai 2015 15med.hossam@gmail.com
Différentes versions d’Android
16 Mai 2015 16med.hossam@gmail.com
Répartition des versions dans le marché
16 Mai 2015 17med.hossam@gmail.com
Plate-forme de téléchargement
• Android Market (Play Store)
• Crée par Google depuis le 22 octobre 2008
• 1.43 Millions d’application en 2014
16 Mai 2015 18med.hossam@gmail.com
Modèle économique
• $25 pour un compte développeur.
• Revenues d’applications payantes divisés :
• 70% au propriétaire
• 30% à Google.
• Les revenus redistribués via « Google Checkout ».
16 Mai 2015 19med.hossam@gmail.com
Market Alternatifs
http://slideme.org/
http://f-droid.org/
http://yaam.mobi/
http://mobogenie.com/
16 Mai 2015 20med.hossam@gmail.com
Outils de développement pour Android
• Android SDK
o Google a fournit un kit de développement (SDK) gratuit qui permet de
développer des applications spécifiques de la téléphonie mobile à mettre
en œuvre sur la plate-forme.
• Android Studio
o Environnement de développement intégré dédié au développement des
applications Android, annoncé officiellement le 16 mai 2013 à la
conférence Google I/O. Disponible gratuitement sous la licence Apache 2.0
16 Mai 2015 21med.hossam@gmail.com
Autre IDE
16 Mai 2015 med.hossam@gmail.com 22
• Eclipse : libre, extensible, universel et polyvalent, permet de créer des projets
de développement mettant en œuvre n'importe quel langage de
programmation.
• IntelliJ IDEA : Apporte un support avancé pour la gestion de projet sous
Android. Langage Java.
• MoSync : IDE basé sur Eclipse, permet de pouvoir gérer des projets sous
différents OS Mobiles comme Android, iOS, BB. Langage C++,HTML 5 Javascript
• Titanium Studio : Basé sur Aptana (Eclipse), intègre facilement les
bibliothèques JS, supporte le PHP et Ruby. Langage: JavaScript.
• Visual Studio : l’IDE populaire de Microsoft, supporte le développement des
applications Android dès la version 2015. Langage : HTML5, JavaScript, C#.
Emulateurs pour Android
• Android Virtual Device (AVD)
o Emulateur basique, intégré avec le Android SDK. Son inconvénient majeur
est la rapidité de fonctionnement.
• Genymotion
o Emulateur Android très rapide et fluide, se fonctionne avec Virtual Box.
o Préférable et recommandé pour tester vos applications Android.
16 Mai 2015 23med.hossam@gmail.com
JVM vs Dalvik VM
16 Mai 2015 med.hossam@gmail.com 24
Android : Architecture générale
16 Mai 2015 med.hossam@gmail.com 25
Premier Projet Android
Suivez-moi… c’est du pratique ! 
Composants d'une application Android
• Activity
• Service
• Content Provider
• Intent
• Broadcast Receiver
• Notification
16 Mai 2015 med.hossam@gmail.com 27
Intent ?
16 Mai 2015 med.hossam@gmail.com 28
Activity
Correspond à un écran
Service
Processus de fond
Broadcast Receiver
Intercepte les évènements
Content Provider
Accès aux données & res
Intent
Notifications ?
16 Mai 2015 med.hossam@gmail.com 29
Cycle de vie d’une Activity
16 Mai 2015 med.hossam@gmail.com 30
Source : http://developer.android.com/training/basics/activity-lifecycle/starting.html
Présentation des layouts
16 Mai 2015 med.hossam@gmail.com 31
LinearLayout
• android:orientation="vertical"
• android:orientation="horizontal"
16 Mai 2015 med.hossam@gmail.com 32
RelativeLayout
• android:layout_below="@id/label"
• android:layout_toRightOf="@id/btnLogin"
16 Mai 2015 med.hossam@gmail.com 33
Bonnes Pratiques (Best Practices)
• Utilisation de l'Action Bar
• Utilisation de la Navigation
• Utilisation des Notifications ( ne pas en abuser)
• Ajouter des animations
• Ajouter une SearchView si possible.
• Utilisation des Gestures
• Le Thread UI doit pouvoir répondre à tout moment
• Supporter les différentes tailles d'écrans
• Utilisation des tâches de fond (Service, Thread) pour les traitements lourds
• etc.
16 Mai 2015 med.hossam@gmail.com 34
All List at : http://developer.android.com/training/best-ux.html
Bonnes pratiques : Tailles des écrans
16 Mai 2015 med.hossam@gmail.com 35
Source : http://developer.android.com/design/style/iconography.html
Questions ?
Initiation à la Prog. Sous Android
(Session 2)
100% Pratique … Essayer de me suivre 
Initiation à la Prog. Sous Android
(Session 3)
100% Pratique … Essayer de me suivre 

Formation Android (Initiation à la programmation sous Android)

  • 1.
    Initiation à laProg. Sous Android (Session 1) med.hossam@gmail.com
  • 2.
    Plan  Statistiques  Différencesentre Mobile App, Mobile Site et Web App  Développement pour terminaux mobiles  Outils de développement pour Android  Android : Architecture générale  Premier Projet Android  Composants d'une application Android  Bonnes Pratiques 16 Mai 2015 med.hossam@gmail.com 2
  • 3.
    Mobile Apps vsWeb 16 Mai 2015 3med.hossam@gmail.com
  • 4.
    Vente des PCsVS Smartphones 16 Mai 2015 4med.hossam@gmail.com
  • 5.
    Vente des smartphonespar OS 16 Mai 2015 5med.hossam@gmail.com
  • 6.
    Différences entre MobileApp, Mobile Site et Web App Qu’est ce qu’une application mobile ? Une application mobile est une application développée spécifiquement pour une plate-forme. • Par exemple: une application iPhone sera développée en utilisant un langage de développement propre à Apple et disponible uniquement sur l’App Store. 16 Mai 2015 6med.hossam@gmail.com
  • 7.
    Différences entre MobileApp, Mobile Site et Web App Qu'est ce qu'une Web App ? Une Web App est un site mobile enrichi. L’ergonomie est de meilleure qualité afin de rivaliser avec celle obtenue via les applications mobiles. Les Web Apps sont encore très peu connues du grand public mais, ont un potentiel de croissance intéressant, car elles permettent d’avoir une application disponible sur plusieurs plates-formes. 16 Mai 2015 7med.hossam@gmail.com
  • 8.
    Différences entre MobileApp, Mobile Site et Web App Qu'est ce qu'un Site Mobile ? Un site mobile est un site internet qui est optimisé pour les smartphones. Afin de consulter un site mobile, on doit être connecté à l'internet et on y accède via le navigateur web du smartphone. Le référencement est primordial, de la même manière qu'un site web. Le langage de développement est également similaire à celui utilisé pour développer un site internet. 16 Mai 2015 8med.hossam@gmail.com
  • 9.
    Pourquoi développer uneapplication mobile ? Pour les novices et passionné(e)s • Maîtrise de nouveaux langages de programmation • Développer des nouvelles compétences • Développer sa propre application • Obtenir une rémunération ponctuelle ou récurrente 16 Mai 2015 9med.hossam@gmail.com
  • 10.
    Pourquoi développer uneapplication mobile ? Pour les professionnels • L’application augmente l’accessibilité au site • L’application permet de générer du trafic • Le marché est en pleine croissance • Une application contribue à l’image de marque 16 Mai 2015 10med.hossam@gmail.com
  • 11.
    Comment réussir sonapplication mobile ? Les règles d’or à retenir : • Définition de la cible marketing • Définition du concept • La richesse et l'intérêt du contenu • Originalité de l'application • Le côté addictif (pour les jeux) • La force de la communauté, la sécurité, le confort d’utilisation. 16 Mai 2015 11med.hossam@gmail.com
  • 12.
    Développement pour terminauxmobiles • Historiquement, développement en code C/C++ de bas niveau oBesoin de comprendre et connaitre le HW • J2ME oJVM fournit une abstraction du HW o(+) Développement en externe o(–) Accès restreint au HW 16 Mai 2015 med.hossam@gmail.com 12
  • 13.
    Développement pour terminauxmobiles : Android • Android fait partie d’une nouvelle vague de système d’exploitation conçus pour du HW plus performant 16 Mai 2015 med.hossam@gmail.com 13
  • 14.
    Android déjà 8ans !! Annoncé officiellement le 5 novembre 2007 16 Mai 2015 14med.hossam@gmail.com
  • 15.
    Android EN QUELQUESMOTS • Plate-forme complète Open Source pour appareils mobiles (Smartphones, PDA, tablettes...) o code source disponible : http://source.android.com/ o fork de la SDK sous licence : http://developer.android.com/sdk/terms.html o Android n'est pas complètement libre (utilisation de bibliothèque propriétaire) • Conçu par Android en 2003, une startup rachetée par Google en 2005, et annoncé officiellement en 11/2007. • Basé sur le noyau Linux 16 Mai 2015 15med.hossam@gmail.com
  • 16.
    Différentes versions d’Android 16Mai 2015 16med.hossam@gmail.com
  • 17.
    Répartition des versionsdans le marché 16 Mai 2015 17med.hossam@gmail.com
  • 18.
    Plate-forme de téléchargement •Android Market (Play Store) • Crée par Google depuis le 22 octobre 2008 • 1.43 Millions d’application en 2014 16 Mai 2015 18med.hossam@gmail.com
  • 19.
    Modèle économique • $25pour un compte développeur. • Revenues d’applications payantes divisés : • 70% au propriétaire • 30% à Google. • Les revenus redistribués via « Google Checkout ». 16 Mai 2015 19med.hossam@gmail.com
  • 20.
  • 21.
    Outils de développementpour Android • Android SDK o Google a fournit un kit de développement (SDK) gratuit qui permet de développer des applications spécifiques de la téléphonie mobile à mettre en œuvre sur la plate-forme. • Android Studio o Environnement de développement intégré dédié au développement des applications Android, annoncé officiellement le 16 mai 2013 à la conférence Google I/O. Disponible gratuitement sous la licence Apache 2.0 16 Mai 2015 21med.hossam@gmail.com
  • 22.
    Autre IDE 16 Mai2015 med.hossam@gmail.com 22 • Eclipse : libre, extensible, universel et polyvalent, permet de créer des projets de développement mettant en œuvre n'importe quel langage de programmation. • IntelliJ IDEA : Apporte un support avancé pour la gestion de projet sous Android. Langage Java. • MoSync : IDE basé sur Eclipse, permet de pouvoir gérer des projets sous différents OS Mobiles comme Android, iOS, BB. Langage C++,HTML 5 Javascript • Titanium Studio : Basé sur Aptana (Eclipse), intègre facilement les bibliothèques JS, supporte le PHP et Ruby. Langage: JavaScript. • Visual Studio : l’IDE populaire de Microsoft, supporte le développement des applications Android dès la version 2015. Langage : HTML5, JavaScript, C#.
  • 23.
    Emulateurs pour Android •Android Virtual Device (AVD) o Emulateur basique, intégré avec le Android SDK. Son inconvénient majeur est la rapidité de fonctionnement. • Genymotion o Emulateur Android très rapide et fluide, se fonctionne avec Virtual Box. o Préférable et recommandé pour tester vos applications Android. 16 Mai 2015 23med.hossam@gmail.com
  • 24.
    JVM vs DalvikVM 16 Mai 2015 med.hossam@gmail.com 24
  • 25.
    Android : Architecturegénérale 16 Mai 2015 med.hossam@gmail.com 25
  • 26.
    Premier Projet Android Suivez-moi…c’est du pratique ! 
  • 27.
    Composants d'une applicationAndroid • Activity • Service • Content Provider • Intent • Broadcast Receiver • Notification 16 Mai 2015 med.hossam@gmail.com 27
  • 28.
    Intent ? 16 Mai2015 med.hossam@gmail.com 28 Activity Correspond à un écran Service Processus de fond Broadcast Receiver Intercepte les évènements Content Provider Accès aux données & res Intent
  • 29.
    Notifications ? 16 Mai2015 med.hossam@gmail.com 29
  • 30.
    Cycle de vied’une Activity 16 Mai 2015 med.hossam@gmail.com 30 Source : http://developer.android.com/training/basics/activity-lifecycle/starting.html
  • 31.
    Présentation des layouts 16Mai 2015 med.hossam@gmail.com 31
  • 32.
  • 33.
  • 34.
    Bonnes Pratiques (BestPractices) • Utilisation de l'Action Bar • Utilisation de la Navigation • Utilisation des Notifications ( ne pas en abuser) • Ajouter des animations • Ajouter une SearchView si possible. • Utilisation des Gestures • Le Thread UI doit pouvoir répondre à tout moment • Supporter les différentes tailles d'écrans • Utilisation des tâches de fond (Service, Thread) pour les traitements lourds • etc. 16 Mai 2015 med.hossam@gmail.com 34 All List at : http://developer.android.com/training/best-ux.html
  • 35.
    Bonnes pratiques :Tailles des écrans 16 Mai 2015 med.hossam@gmail.com 35 Source : http://developer.android.com/design/style/iconography.html
  • 36.
  • 37.
    Initiation à laProg. Sous Android (Session 2) 100% Pratique … Essayer de me suivre 
  • 38.
    Initiation à laProg. Sous Android (Session 3) 100% Pratique … Essayer de me suivre 