Initiation au développement Mobile :
Android
Abdelkader Rhouati
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
Plan
Contraintes & Conception
Environnement et Plateforme
Hello World APP
Pour allez plus loin
IOS vs Android
Conclusion
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
Contraintes & Conception
Contraintes 1 : multitudes de « devices »

Samsung, Sony, STC, Nexus … Et les Tablettes
Samsung, Sony, STC, Nexus … Et les Tablettes
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
Contraintes 2: différents écrans

Tailles petites / différentes
Tailles petites / différentes
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
Conception : Technique
Conception : Graphique
Environnement et Plateforme
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
Architecture de la plateforme

Architecture en plusieurs couches
Architecture en plusieurs couches
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
Hello World APP
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
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
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
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
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
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
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
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
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
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
Hello World APP : Les valeurs statiques

Plusieurs types de donnée ::string, array, color, dimension …
Plusieurs types de donnée string, array, color, dimension …
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 »
IOS vs Android
Réference
developer.android.com
code.google.com/p/apps-for-android/
stackoverflow.com
Les vidéos du Google I/O conferences
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 !!!
@arhouati

http://www.facebook.com/abdelkader.rhouati/

abdelkader.rhouati@gmail.com

http://fr.slideshare.net/arhouati

Contact

Initiation au développement mobile sous Android

  • 1.
    Initiation au développementMobile : Android Abdelkader Rhouati
  • 2.
    Pré-requis Des Bonnes connaissancesen Java : Héritage, polymorphisme (Surcharge et redéfinition) Interfaces, Casting Exceptions Débogage Eclipse : une Bonne maitrise de l’outil
  • 3.
    Plan Contraintes & Conception Environnementet Plateforme Hello World APP Pour allez plus loin IOS vs Android Conclusion
  • 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
  • 5.
  • 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
  • 8.
    Contraintes 2: différentsécrans Tailles petites / différentes Tailles petites / différentes
  • 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
  • 10.
  • 11.
  • 12.
  • 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 laplateforme Architecture en plusieurs couches Architecture en plusieurs couches
  • 15.
    Eclipse : Créerun 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
  • 16.
  • 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 »
  • 29.
  • 30.
  • 31.
    J’ai rien compris, peuxtu 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 !!!
  • 32.

Notes de l'éditeur

  • #15 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