Présentation animée en faveur des étudiantes de l’Ecole Nationale des Sciences Appliquées d'Oujda à l'occasion des "open source Day's".
L'objectif est d'initier les personnes aux notions basique du développement sous Android :
- Environnement de développement et plateforme
- Création d'une première application
- Découvrir les notions d'Activité, de layout ...
2. Pré-requis
Des Bonnes connaissances en Java :
Héritage, polymorphisme (Surcharge et redéfinition)
Interfaces, Casting
Exceptions
Débogage
Eclipse : une Bonne maitrise de l’outil
4. Android
Android est :
• Système d’exploitation destiné au
SmartPhone
• Open source et basé sur Linux
Et il offre une API Java pour
développement d’application mobile
Développé par Google en sa première version en 2008,
Développé par Google en sa première version en 2008,
La dernière version est Kitkat (4.4) sortie en Septembre
La dernière version est Kitkat (4.4) sortie en Septembre
6. Contraintes 1 : multitudes de « devices »
Samsung, Sony, STC, Nexus … Et les Tablettes
Samsung, Sony, STC, Nexus … Et les Tablettes
7. Contraintes 1 : Solutions
1- Conception technique optimisée
1- Conception technique optimisée
2- Optimisation de la performance
2- Optimisation de la performance
3- Une meilleure gestion de la mémoire
3- Une meilleure gestion de la mémoire
4- Minimiser les scenarios utilisateurs
4- Minimiser les scenarios utilisateurs
9. Contraintes 2: Solutions
1- Pensez Mobile et Oubliez PC / WEB
1- Pensez Mobile et Oubliez PC / WEB
2- Que l’essentiel par écran
2- Que l’essentiel par écran
3- Utiliser les nouveaux atouts des devices
3- Utiliser les nouveaux atouts des devices
13. Télécharger Eclipse + SDK Android
Via le lien
https://developer.android.com/sdk/index.html
• Eclipse + Plugin ADT
• SDK Android Tools
• Plate-forme d'outils Android
Un nouveau éditeur a vu le jour cette année ::
Un nouveau éditeur a vu le jour cette année
Android Studio
Android Studio
14. Architecture de la plateforme
Architecture en plusieurs couches
Architecture en plusieurs couches
15. Eclipse : Créer un AVD (Android Virtual Device)
Type de device
Nom de l’émulateur
SDK Target
(Version)
Autres
informations du
device
On peut créer autant d’émulateur qu’on a besoin
On peut créer autant d’émulateur qu’on a besoin
17. Hello World APP : Objectif
Créer une application simple qui
afficher un message
Tutoriel de Google :
http://developer.android.com/resources/tutorials/hello-world.html
18. Hello World APP : Création de projet sur Eclipse
Une première application hello World comme exemple pour
Une première application hello World comme exemple pour
débuter
débuter
19. Hello World APP : Arborescence
Le code source java
Les ressources
De l’app
Images
Code Java de l’activité
( Contrôleur )
Code Java géneré par le SDK afin
de lier les ressources au Code Java
Layout de l’activité
( Vue )
Strings used in the
program
Android Manifest
Basé sur un modèle MVC ::une séparation du traitement et
Basé sur un modèle MVC une séparation du traitement et
de l’affichage
de l’affichage
20. Hello World APP : Android Manifest
Fichier XML contenant toutes les informations en relation
Fichier XML contenant toutes les informations en relation
avec l’application
avec l’application
21. Hello World APP : Android Manifest via
Interface graphique
Meilleure et facile manipulation des informations de
Meilleure et facile manipulation des informations de
l’application
l’application
22. Hello World APP : Activité
• Une activité Android se
concentre sur une seule
fonctionnalité.
• La plupart des applications ont
de multiples activités
Une activité = Un écran
Une activité = Un écran
23. Hello World APP : Activités appellent d’autres
Sous forme d’arborescence d’activités ::
Sous forme d’arborescence d’activités
Activité Principale //Activité suivante et précédente
Activité Principale Activité suivante et précédente
24. Hello World APP : Code Source d’activité
Hérite de la
classe
Activity
Indiquer le layout à utiliser
Il s’agit de du Contrôleur du design pattern MVC ::
Il s’agit de du Contrôleur du design pattern MVC
traitement Métier
traitement Métier
25. Hello World APP : Layout
Noeud racine qui
définit la méthode
d’affichage des
composants fils
Composants graphiques
Appel d’une variable
définie dans le fichier
string.xml
Il s’agit de de la vue du design pattern MVC ::
Il s’agit de de la vue du design pattern MVC
L’affichage
L’affichage
26. Hello World APP : Layout via interface
graphique
Cette interface n’est pas stable, il est préférable d’utiliser
Cette interface n’est pas stable, il est préférable d’utiliser
l’XML
l’XML
27. Hello World APP : Les valeurs statiques
Plusieurs types de donnée ::string, array, color, dimension …
Plusieurs types de donnée string, array, color, dimension …
28. Hello World APP : Lancer l’application
L’émulateur Android du SDK n’est pas stable, je préconise
L’émulateur Android du SDK n’est pas stable, je préconise
l’utilisation des émulateurs « GenyMotion »
l’utilisation des émulateurs « GenyMotion »
31. J’ai rien compris,
peux tu répéter
depuis
le début ?
Finalement, à quoi sert
ce fameux Android ?
C’est un CMS ? Non ?
Qui va avoir le
ballon d’or ?
Messi ?
Ronaldo ?
.. ?
Surtout pas ces Questions !!!
Application : Android provides a set of core applications:
Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc
Application framework : Enabling and simplifying the reuse of components
Developers have full access to the same framework APIs used by the core applications.
Users are allowed to replace components.
Libraire : Including a set of C/C++ libraries used by components of the Android system
Exposed to developers through the Android application framework
Runtime : Core Libraries
Providing most of the functionality available in the core libraries of the Java language
APIs
Data Structures
Utilities
File Access
Network Access
Graphics
Etc