1
.




                           .




                                               .
    • Un système               • Gratuit           • Utilisé pour les
      d’exploitation           • Open Source         Smartphones
      pour téléphones                              • Peut équiper
      mobiles                                        d’autres appareils
    • Fondé sur un                                   • des tablettes
      noyau Linux                                      tactiles
    • Utilise le langage                             • des notebooks
      Java                                           • etc ...




                                                                          2
Point de vue utilisateur:
 Point de vue constructeur:      Système
Système Linux + Java             fonctionnel, intuitif, évolutif
                                 Applications nouvelles


                  Point de vue développeur:
                Langage Java
                kit de développement gratuit
                SDK complet
                Android Market
                                                                   3
ANDROID 1.0 et SDK   NOVEMBRE 2008
    Release 2
                                        T-MOBILE G1

                     OCTOBRE 2008     ANDROID : OPEN
                                         SOURCE

ANDROID 1.0 et SDK   SEPTEMBRE 2008
    Release 1

                       AOUT 2008      ANDROID MARKET
  OPEN HANDSET
     ALLIANCE
   ANNONCE DE        NOVEMBRE 2007
    L’ANDROID
SDK POUR ANDROID
                       AOUT 2005      STARTUP ANDROID
                                                        4
ANDROID, MARCHE ?
• Acteurs système d'exploitation mobile:

                            7%
                                         SYMBIAN
                   10,2%
                                         BlackBerry OS
             1,6%
                                 49,3%   Autres
          10,8%                          iPhone OS
                                         Android
            1,2%
                                         Windows Mobile
                    19,9%
                                         Linux



                                                          5
- Le nom de Google   - Position de leader
et les services      de l'IPhone
associés             - Frilosité des
- Plateforme de      opérateurs 
développement        partage de valeur
banalisée            avec Google.
- L’Open Source


                                            6
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.
                                                 7
8
•   Architecture ARM
•   Système de fichiers supporté : FAT32
•   Basé sur Linux 2.6.24
•   Support de TCP/IP, UDP,…




                                           9
• 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



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



   Application 1




                    Surface Manager

    Application 2




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

                                            12
Compilation et déploiement
    d’une application




                             13
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




                                                  14
• 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              Barre de
de statuts                                notification
• Activity Manager: gère le cycle de vie
des applications et l’enchainement
des vues.



                                                   15
Exemples Applications

Email Client       SMS



       Maps       Contacts


               Navigateur
Calendrier
                 Web


                             16
Composantes d’une application
            Android

                            Broadcast
Activity     Service
                             Receiver

                   Content
       Intent
                   Provider

      AndroidManifest.xml
                                    17
Activity

Une classe par Activity


Le point d'entrée d'une application

Généralement une interface graphique, un
écran

Cycle de vie



                                           18
Cycle de vie d’une Activity




                          19
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)

                                                       20
Services

Composantes sans interface graphique


Activité de longue durée


Service interne: context.startService
Service externe: context.bindService

Communication via une interface
Ex: MediaPlayer (pause, stop, play)



                                        21
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


                                       22
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

                                                                23
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)




                                                              24
25
26

Android

  • 1.
  • 2.
    . . . • Un système • Gratuit • Utilisé pour les d’exploitation • Open Source Smartphones pour téléphones • Peut équiper mobiles d’autres appareils • Fondé sur un • des tablettes noyau Linux tactiles • Utilise le langage • des notebooks Java • etc ... 2
  • 3.
    Point de vueutilisateur: Point de vue constructeur: Système Système Linux + Java fonctionnel, intuitif, évolutif Applications nouvelles Point de vue développeur: Langage Java kit de développement gratuit SDK complet Android Market 3
  • 4.
    ANDROID 1.0 etSDK NOVEMBRE 2008 Release 2 T-MOBILE G1 OCTOBRE 2008 ANDROID : OPEN SOURCE ANDROID 1.0 et SDK SEPTEMBRE 2008 Release 1 AOUT 2008 ANDROID MARKET OPEN HANDSET ALLIANCE ANNONCE DE NOVEMBRE 2007 L’ANDROID SDK POUR ANDROID AOUT 2005 STARTUP ANDROID 4
  • 5.
    ANDROID, MARCHE ? •Acteurs système d'exploitation mobile: 7% SYMBIAN 10,2% BlackBerry OS 1,6% 49,3% Autres 10,8% iPhone OS Android 1,2% Windows Mobile 19,9% Linux 5
  • 6.
    - Le nomde Google - Position de leader et les services de l'IPhone associés - Frilosité des - Plateforme de opérateurs  développement partage de valeur banalisée avec Google. - L’Open Source 6
  • 7.
    Android 4.0: • Plusaucun 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. 7
  • 8.
  • 9.
    Architecture ARM • Système de fichiers supporté : FAT32 • Basé sur Linux 2.6.24 • Support de TCP/IP, UDP,… 9
  • 10.
    • 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 10
  • 11.
    • Surface Manager:Permet de créer des interfaces visuelles. Application 1 Surface Manager Application 2 11
  • 12.
    Android Runtime Machine VirtuelleDalvik • 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. 12
  • 13.
    Compilation et déploiement d’une application 13
  • 14.
    Application Framework • Pointsd’entrée pour les applications • Accès à toutes les ressources inférieures via librairie • Accès possible aux ressources C via JNI 14
  • 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 Barre de de statuts notification • Activity Manager: gère le cycle de vie des applications et l’enchainement des vues. 15
  • 16.
    Exemples Applications Email Client SMS Maps Contacts Navigateur Calendrier Web 16
  • 17.
    Composantes d’une application Android Broadcast Activity Service Receiver Content Intent Provider AndroidManifest.xml 17
  • 18.
    Activity Une classe parActivity Le point d'entrée d'une application Généralement une interface graphique, un écran Cycle de vie 18
  • 19.
    Cycle de vied’une Activity 19
  • 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) 20
  • 21.
    Services Composantes sans interfacegraphique Activité de longue durée Service interne: context.startService Service externe: context.bindService Communication via une interface Ex: MediaPlayer (pause, stop, play) 21
  • 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 22
  • 23.
    Content Provider Accès auxdonné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 23
  • 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) 24
  • 25.
  • 26.