formation android (initiation à la programmation sous android)
TRANSCRIPT
Initiation à la Prog. Sous Android(Session 1)
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 [email protected] 2
Mobile Apps vs Web
16 Mai 2015 [email protected]
Vente des PCs VS Smartphones
16 Mai 2015 [email protected]
Vente des smartphones par OS
16 Mai 2015 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
Développement pour terminaux mobiles
• Historiquement, développement en code C/C++ de bas niveau
oBesoin de comprendre et connaitre le HW
• J2ME
o JVM fournit une abstraction du HW
o (+) Développement en externe
o (–) Accès restreint au HW
16 Mai 2015 [email protected] 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 [email protected] 13
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 [email protected]
Différentes versions d’Android
16 Mai 2015 [email protected]
Répartition des versions dans le marché
16 Mai 2015 [email protected]
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 [email protected]
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 [email protected]
Market Alternatifs
http://slideme.org/
http://f-droid.org/
http://yaam.mobi/
http://mobogenie.com/
16 Mai 2015 [email protected]
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 Studioo 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 [email protected]
Autre IDE
16 Mai 2015 [email protected] 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 [email protected]
JVM vs Dalvik VM
16 Mai 2015 [email protected] 24
Android : Architecture générale
16 Mai 2015 [email protected] 25
Premier Projet AndroidSuivez-moi… c’est du pratique !
Composants d'une application Android
• Activity
• Service
• Content Provider
• Intent
• Broadcast Receiver
• Notification
16 Mai 2015 [email protected] 27
Intent ?
16 Mai 2015 [email protected] 28
ActivityCorrespond à un écran
ServiceProcessus de fond
Broadcast ReceiverIntercepte les évènements
Content ProviderAccès aux données & res
Intent
Notifications ?
16 Mai 2015 [email protected] 29
Cycle de vie d’une Activity
16 Mai 2015 [email protected] 30
Source : http://developer.android.com/training/basics/activity-lifecycle/starting.html
Présentation des layouts
16 Mai 2015 [email protected] 31
LinearLayout
• android:orientation="vertical"
• android:orientation="horizontal"
16 Mai 2015 [email protected] 32
RelativeLayout
• android:layout_below="@id/label"
• android:layout_toRightOf="@id/btnLogin"
16 Mai 2015 [email protected] 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 [email protected] 34
All List at : http://developer.android.com/training/best-ux.html
Bonnes pratiques : Tailles des écrans
16 Mai 2015 [email protected] 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