26
1

Android

Embed Size (px)

Citation preview

Page 1: Android

1

Page 2: Android

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 ...

Page 3: Android

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?

Page 4: Android

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

Page 5: Android

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%

Page 6: Android

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.

Page 7: Android

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.

Page 8: Android

8

ANDROID, ANATOMIE?

Page 9: Android

9

LINUX KERNEL

• Architecture ARM• Système de fichiers supporté : FAT32• Basé sur Linux 2.6.24• Support de TCP/IP, UDP,…

Page 10: Android

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

Page 11: Android

11

• Surface Manager: Permet de créer des interfaces visuelles.

Application 1

Application 2

Surface Manager

Page 12: Android

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.

Page 13: Android

13

Compilation et déploiement d’une application

Page 14: Android

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

Page 15: Android

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

Page 16: Android

16

Exemples Applications

Email Client SMS

Calendrier Maps

Navigateur Web Contacts

Page 17: Android

17

Composantes d’une applicationAndroid

Activity Service

Broadcast Receiver Intent

Content Provider

AndroidManifest.xml

Page 18: Android

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

Page 19: Android

19

Cycle de vie d’une Activity

Page 20: Android

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)

Page 21: Android

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)

Page 22: Android

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

Page 23: Android

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

Page 24: Android

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)

Page 25: Android

25

Page 26: Android

26