Android

Notions de Base
Développement des
Terminaux Mobile

Formation Enseignants ISET
Rades
2

Partie 1 - Introduction
Android, OHA, Google, Environnement

Y. BEN TLILI
3

Android
 Système

d’exploitation pour mobile
 Open Source

Y. BEN TLILI
4

L’Open Handset Alliance
 Fabricants

de Téléphones
 Opérateurs de Téléphonie
HTC
 Sociétés Internet
22/10/2008
 Constructeurs de puces électroniques
 Acteurs GPS

Y. BEN TLILI
5

Les Constructeurs
 HTC
 Motorola
 Samsung
 Sony

Ericsson
 Toshiba
 LG
 Huawei
 Asus
Y. BEN TLILI
6

Smartphones / Tablettes

Y. BEN TLILI
Android (hors utilisation)

Y. BEN TLILI
8

Versions Android

Y. BEN TLILI
9

Caractéristiques
Point de vue constructeur
• Système Linux + Java

Point de vue développeur
• Application développées
en Java
• SDK complet et gratuit

Point de vue utilisateur
• Système fonctionnel
• intuitif, évolutif

Point de vue chercheur
• Projet Open Source
• C++ /Java

Y. BEN TLILI
10

Exemples d’Applications

Y. BEN TLILI
11

Partie 2 – Architecture
Logicielle
Linux, C/C++, Java, Dalvik, JDK

Y. BEN TLILI
12

Linux Inside
 Linux

sous le capot

Y. BEN TLILI
13

•Architecture ARM (famille RISC)
•Basé sur Linux 2.6.24

•Système de fichiers supporté : FAT32
•Support de TCP/IP, UDP

Y. BEN TLILI
14

•Surface Manager(écran)

•SQL Lite, OpenGL(Graphique 2D/3D)
•Audio Manager(sonneries, écouteurs)

Machine Virtuelle Dalvik
Y. BEN TLILI
DVM (JVM pour PC)
15

•Frameworks (pour développeurs)

 Linux

sous le capot

•Activity Manager (Intents, Actions)
•Location Manager (GPS, Coordonnées Map)
•Notification Manager(Barre de notification, Vibreur,
Son, LED)

Y. BEN TLILI
16

•Composants d’une Application:
1. Activity
2. Service
3. Content Provider
4. Broadcast Receiver

5. Fragment
6. Intent

Y. BEN TLILI
17

1. Activity


Classe + Interface Graphique(un écran)



Répond à des évènements(click, touche,…)



Cycle de Vie (Création--->Destruction)



1 Activité au moins par Application

Y. BEN TLILI
18

2. Service


Processus



Sans Interface Graphique



Fonctionne en Background



Interne / Externe

Y. BEN TLILI
19

3. Content Provider


Partage de données entre application



Liste de Contacts



SQLite



GPS



Module GSM, UMTS

Y. BEN TLILI
20

4. Broadcast Receiver


Réagir à des évènements extérieur à l’App.



Réveiller une Application



Réagir à des évènements Système

Y. BEN TLILI
5. Fragment





comportement ou une partie de l'interface utilisateur
dans une activité.
Possibilité de combiner de multiples fragments en une
seule activité
Un fragment doit toujours être intégré dans une activité
et le cycle de vie du fragment est directement affectée
par le cycle de vie de l'activité du hôte .

Y. BEN TLILI
6. Intent





une description abstraite d'une opération à effectuer.
Il peut être utilisé avec startActivity pour lancer une
activité, broadcastIntent pour l'envoyer à tous les
composants de BroadcastReceiver intéressées, et
StartService (intention) ou bindService (intention,
ServiceConnection, int) pour communiquer avec un
service d'arrière-plan.
Messages système qui circulent entre les activités.

Y. BEN TLILI
Partie 3 – Le Modèle de
Programmation
SDK, Eclipse, DDMS, Projet

Y. BEN TLILI
24

Cycle de Vie d’une Activité

Y. BEN TLILI
25

Cycle de Vie d’une Activité

Y. BEN TLILI
26

Environnement de Développement
1/2

Android SDK

IDE Eclipse

Application
Android
Android ADT
Y. BEN TLILI
27

Environnement de Développement
2/2

Android SDK

Android Studio

Application
Android
Android Studio n’est pas stable jusqu’à maintenant

Android ADT
Y. BEN TLILI
Y. BEN TLILI
Préparation de
l’Environnement
Télécharger

Eclipse

Télécharger

28

le SDK Android

Installer

le Plugin ADT sur Eclipse
Y. BEN TLILI
Préparation de
l’Environnement
Redémarrer
Spécifier

29

Eclipse

l’emplacement du SDK

Y. BEN TLILI
Préparation de
l’Environnement
Créer

30

un AVD qui définit un émulateur

Y. BEN TLILI
31

Hello World

Hello World
Première Application Android

Y. BEN TLILI
Nouveau Projet

32

Y. BEN TLILI
Arborescence

33

 Classe
 R.Java
 Assets
 Res
 AndroidManifest

Y. BEN TLILI
Classe Java

34

Y. BEN TLILI
XML File

35

Y. BEN TLILI
Exécution d’une application

Y. BEN TLILI
MERCI POUR VOTRE ATTENTION

Y. BEN TLILI

Présentation et Initiative pour le développement Android

Notes de l'éditeur

  • #4 Définir Android n’est pas une chose aisée tant les concepts derrière cet intitulé unique sont nombreux.Pour commencer et en simplifiant à l’extrême, on peut dire qu’Android est un …Tout au long de ce Cours, nous découvrirons les nombreuses facettes de ce système et nous élargirons ainsi la définition d’Android.
  • #5 Dès son origine,la démarche de Google a été d’ouvrir le dev. d’Android en rassemblant à travers l’Open Handset Alliance (OHA) un maximum de sociétés.Les membres de ce consortium sont très variés : Sony Ericsson, Samsung ou Motorola, Sprint, T-Mobile ou NTT DoCoMo, Google évidemment mais aussi eBay, Constructeurs de puces électroniques Intel, nVidia, marché du GPS Garmin.Toutes ces entités se retrouvent donc au sein de cette alliance, pour participer au développement d’Android.
  • #7 Sur le marché on trouveessentiellement 2 types de device équipéd’Android: LesSmartphones,Les TabletsTablets C'est une innovation qui ressemble à un grand smartphone, mais a des capacités supplémentaires pour ressembler davantage comme un ordinateur portable.
  • #10 C’est le Framework Java spécialisé dans les applications mobiles. Des plates-formes compatibles avec J2ME sont embarquées dans de nombreux téléphones portables et PDA.
  • #11 C’est le Framework Java spécialisé dans les applications mobiles. Des plates-formes compatibles avec J2ME sont embarquées dans de nombreux téléphones portables et PDA.
  • #16 Type Intents: Explicite et Implicite, Role: Lancement de nouvelles activitésNotifications: des applications s’exécutent en même temps en background, notification des évènements
  • #17 Fournisseur de contenu
  • #18 Classe + Interface Graphique GéNéRALEMENTPoint d’entrée pour l’application
  • #19 Le service est destiné à fonctionner indépendamment de l'écran, donc des activités.Le meilleur exemple est le joueur de musique qui peut fonctionner pendant qu'on passe d'un écran à un autre.
  • #20 On utilise un Content Provider pour partager des données entre applications. L'interface ContentResolver est l'interface qui fournit les données aux autres objets.
  • #21 Appel, SMS, Bouton extérieur ….