View
512
Download
1
Category
Preview:
Citation preview
1
2
ANDROID, C’EST QUOI?. • Un système
d’exploitation pour téléphones mobiles
• Fondé sur un noyau Linux
• Utilise le langage Java
. • Gratuit• Open Source
. • Utilisé pour les Smartphones
• Peut équiper d’autres appareils • des tablettes
tactiles • des notebooks• etc ...
3
Point de vue constructeur:Système Linux + Java
Point de vue utilisateur:Système fonctionnel, intuitif, évolutifApplications nouvelles
Point de vue développeur:Langage Javakit de développement gratuitSDK completAndroid Market
ANDROID, POINTS D’ACCES?
HISTORIQUE
AOUT 2005
NOVEMBRE 2007
AOUT 2008
SEPTEMBRE 2008
OCTOBRE 2008
NOVEMBRE 2008
STARTUP ANDROIDSDK POUR ANDROID
ANNONCE DE L’ANDROID
OPEN HANDSET ALLIANCE
ANDROID MARKET
ANDROID : OPEN SOURCE
T-MOBILE G1
ANDROID 1.0 et SDK Release 1
ANDROID 1.0 et SDK Release 2
4
5
ANDROID, MARCHE ?
• Acteurs système d'exploitation mobile:
SYMBIANBlackBerry OSAutresiPhone OSAndroidWindows MobileLinux
7%
10,2%
1,6%
10,8%
19,9%
1,2%
49,3%
6
CLÉS DE SUCCÈS, FREINS ?
- Le nom de Google et les services associés- Plateforme de développement banalisée- L’Open Source
- Position de leader de l'IPhone- Frilosité des opérateurs partage de valeur avec Google.
7
ANDROID, NOUVEAUTÉS?
Android 4.0:• Plus aucun bouton physique en façade • Un bon relooking d'interface• La possibilité de prendre des captures-écrans de
manière native en appuyant sur Power et Home • Un bouton d'accès rapide à l'appareil photo • De nouveaux outils d'édition de photos• La possibilité de filmer et de prendre des photos en
même temps• La possibilité de zoomer pendant qu'on filme.• La possibilité de débloquer votre téléphone
simplement grâce à une reconnaissance faciale.
8
ANDROID, ANATOMIE?
9
LINUX KERNEL
• Architecture ARM• Système de fichiers supporté : FAT32• Basé sur Linux 2.6.24• Support de TCP/IP, UDP,…
10
LIBRAIRIES
• SQLite: • écrite en C • propose un moteur de base de données
relationnelles• accessible par le langage SQL
• Libc: Librairie système C• Optimisée pour les systèmes embarqués
11
• Surface Manager: Permet de créer des interfaces visuelles.
Application 1
Application 2
Surface Manager
12
Android Runtime
Machine Virtuelle Dalvik • Nouvelles instances pour chaque
processus: Applications indépendantes• Exécute des fichiers .dex (Dalvik exécutable)• Dalvik core class library fournit une base de
développement proche de Java SE, adapté au mobile.
13
Compilation et déploiement d’une application
14
Application Framework
• Points d’entrée pour les applications• Accès à toutes les ressources inférieures via
librairie• Accès possible aux ressources C via JNI
15
• Content Providers: permet l’accès aux données d’autres applications (ex: liste de contacts)
• Ressource manager: permet l’accès aux ressources statiques images, fichiers
• Notification Manager: permet d’afficher des alertes personnalisées dans la barre de statuts• Activity Manager: gère le cycle de vie des applications et l’enchainement des vues.
Barre de notification
16
Exemples Applications
Email Client SMS
Calendrier Maps
Navigateur Web Contacts
17
Composantes d’une applicationAndroid
Activity Service
Broadcast Receiver Intent
Content Provider
AndroidManifest.xml
18
Activity
Une classe par Activity
Le point d'entrée d'une application
Généralement une interface graphique, un écran
Cycle de vie
19
Cycle de vie d’une Activity
20
Intents
-Requête, description d’action à effectuer-fait le lien entre les différentes applications
Décrit par:- une action (Intent.ACTION_WEB_SEARCH, Intent.ACTION_CALL, …)-la donnée à traiter sous forme d’URI ( le numéro de téléphone à composer)
Type:- Explicite (référence exacte)- Implicite (description)
21
Services
Composantes sans interface graphique
Activité de longue durée
Service interne: context.startServiceService externe: context.bindService
Communication via une interfaceEx: MediaPlayer (pause, stop, play)
22
BroadCast Receiver
Réagit à des évènements externes- Logiciel: Alarme, notifications...- Matériel: Activation puce GPS
Permet de réveiller une application, afficher un message, lancer une activity
23
Content Provider
Accès aux données partagées
Données internes ou externes à l'application
Encapsulation du schéma de la base
Pas de requête :- URI- Services de manipulation des données fournis par le package
24
Android, développement?
• Environnement:- Windows XP/ Vista/ Seven- Mac OS 10- Linux• SDK Android• Eclipse + plugin ADT• Optionnel: outil dev C intégration code C/C++ en tant
que librairie (JNI)
25
26
Recommended