Vous êtes sur la page 1sur 30

Formation développement Android

Centre de Développement des Compétences TIC, OFPPT

Janvier 2015
1
Préambule

Objectifs de la formation

① Maitriser l’écosystème Android et ses éléments


② Être autonome dans la programmation Android
③ Maitriser les différents outils et l'environnement du développement
④ Maitriser la communication entre les web services et une application
⑤ Maitriser les designs patterns Android
⑥ Maitriser les bonnes pratiques de la programmation Android

Pédagogie

Théorie : 60%, Pratique : 40%

Prérequis

Comprendre le concept des langages orientés objet.


Connaître les langages JAVA, XML.
2 / 19
Tables des matières

Jour 1

I. Android et le monde de l’IT

II. La programmation Android sous Eclipse

III. Premiers pas


Jour 2

I. Elements Graphiques

II. Gestions des Activities

3 / 19
Tables des matières

Jour 3
I. Travaux pratiques
Jour 4
I. Communication avec un serveur Web
II. Quelques APIs du système
III. Persistance des données
IV. Publication et rentabilisation
V. Travaux pratiques

Jour 5

I. Développement d’une application de synthèse

4 / 19
I. Android et le monde de l’IT

Développement d’applications

Le système L’application
L'appareil d’exploitation
I. Android et le monde de l’IT

C’est quoi Android ?

Android : est un système d’exploitation pour appareils mobiles.


Android est organisé en 5 couches :

⑤ Applications de base

④ ADT : Android Development Kit

③ Machine virtuelle Java

② Bibliothèques logicielles : WebKit, OpenGL, SQLite ou FreeType

① Noyau Linux + les pilotes

Android est distribué en open source sous licence Apache.


I. Android et le monde de l’IT

Les versions Android


I. Android et le monde de l’IT

Les versions Android


Graphique illustrant la part de
chaque version d'Android sur le
Google Play Store :
I. Android et le monde de l’IT

Open Handset Alliance


- Association de 34 compagnies, qui opèrent dans le mode des NTIC, dont l’objectif est de
promouvoir et de développer Android en tant que premier système d’exploitation mobile
- La philosophie du système : open source, gratuit, facile à développer, facile à vendre,
flexible et ingénieux.
I. Android et le monde de l’IT

Couches Constructeurs
Samsung est connu pour offrir de nombreuses fonctionnalités
exclusives grâce à TouchWiz, sa surcouche maison. Ex: NFC,
Applications préinstallées, raccourcis, …etc

Home Screen Apps screen


I. Android et le monde de l’IT

Marché des smartphones

□ Chiffres clés sur la taille du marché des smartphones


- En 2014 2 Milliards, 5 milliards d'appareils en 2017
- En 2017 69% de la population mondiale possédera un smartphone
- Croissance des ventes des Smartphones / décroissances des téléphones mobiles classiques
- Les ventes de tablettes explosent

□ Parts des marchés


I. Android et le monde de l’IT

Marché des Applications et OS concurrents

□ Chiffres clés sur la taille du marché des Applications


- 26 milliards de dollars le chiffre d’affaire des applications mobiles en 2013
- 102 milliard de téléchargements
- Les applications gratuites représentent 91% des téléchargements en 2013
- Applications gratuites : 60% sur le App store (iOS) et 80% sur le Play store (Android)

□ Parts des marchés


I. Android et le monde de l’IT

OS concurrents

□ Android VS iOS

✓ Gratuit , Open source ✓ Compte développeur payant: 99$

✓ Libre : Windows, Mac, Linux, …etc ✓ Nouveau langage : Objective-C

✓ Langage de programmation : Java ✓ Environement MAC

✓ Beaucoup de contructeurs ✓ Un seul constructeur


II. La programmation Android sous Eclipse
II. La programmation Android sous Eclipse

Introduction au SDK Android

Le SDK Android fournit les API et les outils de développement nécessaires


pour développer, tester et déboguer des applications pour Android.

□ Prérequis :
JDK (Java Development Kit) et JRE (Java Runtime Environement)

□ Installation du SDK
Télécharger le ADT (Android Dev Tools) disponible sur le lien suivant :
http://developer.android.com/sdk/index.html

L’ADT contient :
- Eclipse + ADT plugin
- Android SDK Tools
- Android Platform-tools
- A version of the Android platform
- A version of the Android system image for the emulator
II. La programmation Android sous Eclipse

Introduction au SDK Android


Par défaut, le SDK Android ne contient pas tout ce dont vous avez besoin pour commencer à
développer. Le SDK sépare outils, plates-formes et d'autres composants dans des packages
que vous pouvez télécharger en utilisant le gestionnaire de SDK Android.

□ Android SDK Manager


Ce qu'il faut installer avant de
commencer :

• Android SDK Tools


• Android SDK Platform-tools
• Android SDK Build-tools
• Ouvrir le dossier Android X.X
et télécharger :
- SDK Platform
- ARM EABI v7a System Image
II. La programmation Android sous Eclipse

Android Virtual Device


Même si vous avez un vrai appareil Android disponible, vous devez vous familiariser avec la
création et l'utilisation des AVDs. Les périphériques virtuels vous donnent la possibilité de
tester votre application pour les versions Android et des configurations spécifiques.
II. La programmation Android sous Eclipse

Explication des différents wizards et outils

• Les différents Wizards


spécifiques à Android :
File → New → Other... →

• Ces assistants vous permettent


de créer des projets Android,
importer un code source
existant ainsi que de créer d’
autres composants Android.
II. La programmation Android sous Eclipse

La Perspective DDMS
ADT ajoute la perspective DDMS (Dalvik service de surveillance de périphérique) pour Eclipse
pour interagir avec votre appareil Android (virtuel ou réel) et votre code. Sélectionnez
Fenêtre → Ouvrir perspective → Autre ... → DDMS pour ouvrir cette perspective. Elle
regroupe plusieurs vues Eclipse qui peuvent également être utilisés indépendamment.
II. Premiers pas en développement Android
II. La programmation Android sous Eclipse

Règles de programmation Android


Une application Android est une unité installable unique qui peut être démarré et
utilisé indépendamment des autres applications Android.
□ Format du fichier d’installation :
Un fichier Android Package (ou APK) est un format de fichiers pour Android.
Un APK (ex., "nomfich.apk") est une collection de fichiers ("package") compressée
pour le système d'exploitation Android

□ Contraintes du développement sous Android :


- Ressources limités : le système n'est pas aussi puissant qu'un ordinateur classique
(RAM, CPU, ..)
- Il faut pouvoir interagir avec un système complet sans l'interrompre. Il faut respecter
une certaine priorité dans l'exécution des tâches. ( Appels, SMS, ..etc.)
- Tailles et résolutions d’écrans différentes : l’interface graphique doit s'adapter à
toutes les tailles et toutes les résolutions
- Variétés de constructeurs : composants utilisés , specs techniques différents, …etc.
II. La programmation Android sous Eclipse

Les Composants d’une application Android

□ Une application est composée des éléments suivants :

➢ Activity : le concept d'Activity repose sur la notion d'interaction utilisateur.


Une Activity représente la fenêtre ou tout simplement l'écran qui sera affiché à
l'utilisateur.
➢ Service : un programme tournant en tâche de fond et n'ayant pas d'interface
graphique. L'exemple commun illustrant au mieux cette notion est celui du lecteur
mp3.
➢ Content Provider : Les ContentProvider sont des gestionnaires de données. Ils
permettent de partager l'information entre applications. ( contacts, galeries,…etc)
➢ Broadcast Receiver : un composant à l'écoute d'informations qui lui sont destinées:
appel téléphonique entrant, réseau Wi-Fi connecté, informations diffusées par des
applications
➢ Les ressources : Chaque application Android a ses propres fichiers ressources. C'est
dans ces fichiers que seront puisés les textes, les images, les couleurs, etc.
➢ Manifest file : C'est un fichier XML, qui décrit le point d'entrée de l'application (le
code à exécuter), les composants du projet ainsi que les permissions nécessaires
pour l'exécution du programme.
II. La programmation Android sous Eclipse

Le fichier manifest.xml :

Définit le comportement de votre application au système Android. Ce fichier


définit par exemple (Le nom, l’icône, la version min du SDK, les activités, les
services, les autorisations de l’application, etc…).

• Toutes les activités, les services et les fournisseurs de contenu statiques qui
composent l'application doit être déclarés dans ce fichier.
• Le fichier manifeste Android doit également contenir les autorisations requises
pour l'application. Par exemple, si l'application nécessite l'accès au réseau, il doit
être spécifié dans ce fichier
• Il contient aussi : Version et nom du package de l’application, versions Android
capable d’exécuter l’application, les informations de l’application (noms, icones,
..etc)
II. La programmation Android sous Eclipse

Vue d’ensemble d’une Activity :


✓ Une application est un assemblage de fenêtres entre lesquelles il est possible de naviguer

Cliquer sur un élément


de la première activity
va lancer la seconde
activity

Le cadre rouge montre


les limites de l’activity
II. La programmation Android sous Eclipse

Vue d’ensemble d’une Activity :


✓ Une application est un assemblage de fenêtres entre lesquelles il est possible de naviguer
II. La programmation Android sous Eclipse

Etats d’une Activity :

Si un utilisateur reçoit un appel, il devient plus important qu'il puisse y répondre que de
continuer à utiliser une application. Pour pouvoir toujours répondre à ce besoin, les
développeurs d'Android ont eu recours à un système particulier :

❑ À tout moment votre application peut laisser place à une autre


application, qui a une priorité plus élevée. Si votre application
utilise trop de ressources système, alors elle empêchera le
système de fonctionner correctement et Android l'arrêtera
automatiquement

❑ Votre activité existera dans plusieurs états au cours de sa vie, par


exemple un état actif pendant lequel l'utilisateur l'exploite, et un
état de pause quand l'utilisateur reçoit un appel.
II. La programmation Android sous Eclipse

Etats d’une Activity :


Quand une Activity se lance, elle se met tout en haut de la pile d'activités :
Cette pile a une structure de données de type « LIFO », c'est-à-dire qu'il n'est possible
d'avoir accès qu'à un seul élément de la pile, le tout premier élément, aussi
appelé sommet.
II. La programmation Android sous Eclipse

Etats d’une Activity :

Une activité, vis-à-vis du code, est séparée en 2 morceaux: un fichier XML, et un fichier JAVA.

Le fichier XML :
• Interface graphique de l’activity
• Conception de l’IHM : design et ergonomie
• Declaration des elements graphiques :
View, Buttons, Layouts, …etc
• Déclaration des identifiants des éléments
graphiques

Le fichier Java :
• Le contrôle des éléments déclarés dans le
fichier XML
• Chaque activity est liée à un seul et unique
fichier XML qui définit son interface graphique
II. La programmation Android sous Eclipse

Les fichiers ressources :


Resource Folder Description
Drawables /res/drawables Images (fichiers png ou jpeg par exemple) ou des
fichiers XML qui décrivent un objet Drawable.
Simple Values /res/values Permet de définir des chaînes, des couleurs, des
dimensions, des styles et des tableaux statiques de
chaînes ou des entiers via des fichiers XML.

Layouts /res/layout Des fichiers XML avec des descriptions de mise en pa


ge sont utilisés pour définir l'interface utilisateur
pour les activités et les fragments.
Styles and Themes /res/values Fichiers qui définissent l'apparence de votre
application Android.
Animations /res/animator Définit les animations en XML pour l'API d'animation
qui permet d'animer des propriétés arbitraires
d'objets dans le temps.
Raw data /res/raw Des fichiers arbitraires enregistrés dans leur forme
brute. Vous y accédez via un objet InputStream.
Menus /res/menu Définit les propriétés d'entrées pour un menu.
II. Interface utilisateur et éléments graphiques

Vous aimerez peut-être aussi