SlideShare ist ein Scribd-Unternehmen logo
1 von 24
vous présente :




Spécialiste Android Java J2EE




        Auteur du livre

disponible sur




                                   1
•Qui est Android                      •Un cas concret:
•Android et le monde de l’IT             •Projet initial
   •Invasion de la mobilité              •Le code
   •GooglePlay moteur de l’adoption      •Amélioration
   •The patents war                      •Le code
•Programmation Android                •La diversité
   •Règles                               •Multi-screens
   •Acteurs principaux du système        •Hétérogénéité
   •Structure d’un projet




                                                           2
Formateur Consultant Expert Android
                                           mathias.seguy.it@gmail.com (mail)
                                                 @android2ee (twitter)
                            Auteur d’EBooks sur la programmation Android (Android2ee.com)
                                          Conférencier et Enseignant Android
                                       Docteur en Mathématiques Fondamentales
                                Expert Technique de l'Agence Nationale de la Recherche
                                             Rédacteur sur Developpez.com
                            Blogs Android : Android2EE sur DVP et Android2ee sur BlogSpot
    Doctorat
  Mathématiques                                                                                   Naissance
  Fondamentale                              Via CapGemini                Via Sopra                Android2EE
           Siemens      Magnus       DGA         CNES       Airbus    Airbus    Airbus        STI         Android2
             VDO                                                                                            EE
     03         04          05         06          07         08          09          10        11          12
                                                                Java J2EE
                                                                                                     Android
                                     Leader      Manager   Manager               Leader      Directeur     Fondateur
                                      IHM        Leader    Leader     Manager   Technique   Technique     Android2EE
           Développeu   Développeu
                r            r                  Technique Technique

Master Informatique                                             Chez STI
 de l’ENSEEIHT

                                                                                                                       3
4
•2003 création d’Android Inc
•2005 Google acquiert Android
•2007 Création de l’Open Handset Alliance
•2007 Android Beta SDK released




  23/09/2008
  30/04/2009
  15/09/2009
  26/10/2009
  20/05/2010
  06/12/2010
  10/05/2011
  19/11/2011




                                            5
6
7
Invasion de la mobilité via les
smartphones:
Le taux de pénétration des
smartphones est exceptionnel,
tant part sa valeur actuelle que
par    la    rapidité   de    sa
progression.
• 486M de smartphones vendus
en 2011.
• 27% du parc mondial.




Android, l’OS Winner !

En quatre ans, Android est
devenu leader mondial du
système     d’exploitation des
smartphones, en terme de stock
et en terme de vente.




                                   8
GooglePlay (AndroidMarket) versus AppleStore,
                       la guerre du Market.


 •    Le nombre d’applications sur GooglePlay est en hausse
      permanente.

      •     + 17 391 % en 3 ans

      •     + 320 % en 1 an




 •    Le nombre d’applications téléchargées a pour unité le
      milliard.

      •    +500% sur 1 an

      •    10 000 000 000 de downloads !

Cette dynamique est la clef de réussite de la plateforme, le
facteur d’adoption.




                                                               9
La guerre des brevets fait rage dans les grands comptes de l’IT. Depuis
                               l’été 2011, cette guerre fait des ravages dans le monde entier. Le système
                               Android est attaqué par le trio Microsoft-Apple-Oracle et se défend:

                               Apple versus Android : La guerre froide
                               Ces deux-là se mènent une guerre non frontale: Apple attaque les
                               constructeurs et Google rachète Motorola pour 8.6B$.

                               Apple versus HTC et Samsung: La guerre des tribunaux.
                               Interdiction du GalaxyTab en Australie, plainte en Europe et aux Etats
                               Unis… (Depuis peu demande un accord « amiable » entre 5 et 15$ par
                               unité).

                               Microsoft versus Android: La guerre des gangs.
                               Microsoft a su imposer une redevance (5$) à Samsung et à HTC pour
                               chaque unité Android vendue.

                               Oracle Versus Android : l’open-guerre
                               Quand l’open source fait la guerre à
                               l’open source…
                               Plainte déposée par Oracle en 2010 (le procès
                               Est en cours… à suivre).




Vidyanand Kamat/Forbes India




                                                                                                            10
11
Respecter ses données,
    Respecter sa confidentialité.



   Respecter le CPU,
   Respecter la batterie,
   Respecter la mémoire.


Respecter la charte graphique Android,
Respecter les bonnes pratiques du système.
…

                                              12
: Ce sont les programmes vu par l’utilisateur.                      : Les services ont une durée de vie potentiellement
Ils possèdent une I.H.M.                                           infinie (contrairement aux activités et aux fournisseurs de
                                                                   données). Ce sont des processus qui tournent dans la
             : Ils offrent un niveau d’abstraction                 même Thread que l’application sans IHM.
pour l’accès à toutes les données stockées sur                         : Ce sont des messages systèmes qui servent de
le terminal. Les données sont identifiées au                       support événementiel pour permettre le dialogue entre
moyen d’URI (Unified Ressources Identifier).                       applications. On répond et on envoie des intentions qui
                                                                   lancent ou communiquent avec les activités.


                                      Listen                                               Service
                        Listen
                                    BroadCastReceiver                 Bind
                                                   Activity


                                   StartActivity                    ContentResolver.action(URI,…)


                                                                CRUD
                                                              operation
                                                               return
                                                                                            URI
                                                       ContentProvider
                                   Send
                          Intent                                          Find ContentProvider


                                                                                                                                 13
Un projet Android simple contient les dossiers:
          pour les sources Java
          pour les sources générées à partir du dossier res
         pour les dossiers de ressources:
                                 pour les images
                            pour la définition des composants graphiques
                             pour les chaînes de caractères

ainsi que le fichier                          qui est le centre névralgique de votre
      application. Il décrit les besoins de votre application, en termes de SDK, de
      compatibilité matérielle, d’API utilisées et d’utilisation de services du
      système. Il décrit ce qu’offre votre application au système (Activity,
      ContentProvider, Service…), et les éléments auxquels votre application
      réagit au moyen des IntentFilters et d’URI ainsi que les permissions
      nécessaire pour les utiliser.




                                                                                       14
15
Cette application permet d’ajouter des items à une liste d’items.
Il y a :
   •     Un titre
   •     Une zone d’édition
   •     Un bouton Ajouter
   •     Une liste contenant les éléments ajouter

Allons voir le projet:
   •    Le fichier des layouts qui définit l’IHM,
   •    La classe Java
   •    Le fichier Manifest




                                                                    16
On obtient simplement cette application, en ajoutant à l’application précédente:
  •     Une gestion des couleurs
  •     Une gestion des dimensions
  •     Une gestion de la forme des éléments graphiques
  •     Une gestion des styles

Allons voir le fichier:
  •     Des dimensions et celui des couleurs
  •     Des styles
  •     Des formes




                                                                               17
18
Le problème est simple : 4 densités d’écran différentes pour 4 tailles d’écran différentes soit 16 configurations.
Il faut alors:
•Définir les composants dans des tailles indépendantes de la densité de l’écran;
•Définir pour chaque image, 4 tailles d’image différentes (3|4|6|8);
•Définir des layouts différents en fonction des tailles des écrans.



                                                                                                      LDPI      MDPI        HDPI       XHDPI
                   LDPI               MDPI              HDPI             XHDPI                      ≈120DPI    ≈160DPI     ≈240DPI    ≈320DPI
                 ≈120DPI             ≈160DPI           ≈240DPI          ≈320DPI          Small
                                                                                                     1.7%                   2.4%
                                                                                        Screen
   Small
                QVGA (240×320)                              480x640                    Normal
                                                                                                     0.7%       18.5%       66.3%      2.5%
  Screen                                                                               Screen
                 WQVGA400                                                                Large
  Normal         (240×400)          HVGA (320×480)
                                                     WVGA800(480×800)
                                                                                        Screen
                                                                                                     0.2%       2.8%
                                                     WVGA854(480×854)    640x960
                 WQVGA432              HTC-GI
  Screen         (240×432)
                                                        600x1024
                                                                                      Extra Large
                                                                                                                4.9%
                 WVGA800**            WVGA800*                                          Screen
   Large         (480x800)            (480×800)           TV720p          TV1080p
                 WVGA854**            WVGA854*          (1280×720)      (1980×1080)                     http://developer.android.co
  Screen          (480x854)           (480×854)                                                         m/resources/dashboard/scr
                                                                                                                 eens.html
Extra Large                       WXGA (1280×800)       1536x1152       2048x1536
                  1024x600           1024x768           1920x1152       2560x1536
  Screen                            1280x768            1920x1200       2560x1600

                              http://developer.android.co
                              m/guide/practices/screens_
                                      support.html
Exemple:
480*800 HDPI GalaxySII
1280*800 Galaxy Note WXGA
1024*600 WSVGA Galaxy Tab



                                                                                                                                                19
L’hétérogénéité des versions et des appareils génère la problématique rencontrée par les développeurs pour couvrir
     l’ensemble des versions du système, des appareils du marché, avec une même application, un même code…

C’est l’enfer :
      •  De l’apprentissage des nouvelles API, des bonnes pratiques qui s’enchainent,
      •  De la mise à jour des applications existantes, des tests et des refactoring…
      •  Des bugs spécifiques à un appareil, à une version…
      •  De la complexité du code qui s’envole pour couvrir tous les cas.

Effectivement, c’est l’horreur surtout depuis la rupture HoneyComb.


D’un autre côté, c’est la conséquence directe:
  •  De l’adoption d’Android par un grands nombre de constructeurs,
  •  Du dynamisme des développeurs Google du SDK d’Android qui cherchent à atteindre la perfection.

Alors arrêtons de nous plaindre. C’est une opportunité, sachons en profiter.




                             http://developer.android.com/resourc
                             es/dashboard/platform-versions.html


                                                                                                                 20
21
Aujourd’hui Android envahit la téléphonie mobile.
Demain, Android sera partout: téléphone, tablette, télévision, montres, chaine Hifi, voiture, électroménager, domotique ….
Partout, vous dis-je.




                                                                                                                             22
Cette conférence utilise les références suivantes:
           •    Les EBooks et tutoriels d’Android2ee : http://www.android2ee.com
           •    Les sites de référence Android:
                     •  http://developer.android.com/index.html
                     •  http://android-developers.blogspot.fr/
                     •  http://www.google.com/events/io/2011/sessions.html
           •    La charte graphique Android (Android Design): http://developer.android.com/design/index.html

Sur Android2ee, vous trouverez les tutoriels libres suivants pour approfondir les notions présentées:
                    • Les capteurs
                    • Les thread de traitement (Handler et fuite mémoire)
                    • Les AppWidgets
                    • Construction dynamique d’IHM
                    • Service REST
                    • Lecteur de flux RSS
                    • Le fichier POM pour mavéniser vos projets
                    • Comment préparer ses livraisons sur GooglePlay

Sur developpez.com vous trouverez les articles suivants:
                    •Déployer son application Android et obtenir sa clef MapView.
                    •Construire dynamiquement ses IHM Android
                    •Les capteurs Android
                    •Thread, Handler, AsyncTask et fuites mémoires
                    •Investir l'écran d'accueil Android avec les AppWidgets
                    •Android, Livrer son projet sur GooglePlay




                                                                                                               23
.




                                 Merci pour votre attention.


                                     android2ee.com.           Et rendez-vous à :
                                       #android2ee             L’Eclipse Day Toulouse le
                                                               24 Mai
                                mathias.seguy.it@gmail.com     Ou à Brazzaville
MySensors, MyLight et MyTorch                                  En Septembre
  disponible sur GooglePlay

                                                                                           24

Weitere ähnliche Inhalte

Was ist angesagt?

Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous androidHoussem Lahiani
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Mathias Seguy
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidHoussem Lahiani
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
Niji rapport de prévention 2021 - i os 15
Niji   rapport de prévention 2021 - i os 15Niji   rapport de prévention 2021 - i os 15
Niji rapport de prévention 2021 - i os 15Gabriel DUPONT
 
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchMobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchUSERADGENTS
 
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
Niji   mobile factory - prevention application mobile android11-i os14- 06-2020Niji   mobile factory - prevention application mobile android11-i os14- 06-2020
Niji mobile factory - prevention application mobile android11-i os14- 06-2020Gabriel DUPONT
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Montreal JUG
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)G²FOSS ENIT
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android AbidjanBacely YoroBi
 
Niji rapport de prévention 2021 - android 12
Niji   rapport de prévention 2021 - android 12Niji   rapport de prévention 2021 - android 12
Niji rapport de prévention 2021 - android 12Gabriel DUPONT
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sassmarwa baich
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceKorteby Farouk
 
Niji x mobile mots flash
Niji x mobile   mots flashNiji x mobile   mots flash
Niji x mobile mots flashGabriel DUPONT
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1Sabeur LAJILI
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Androidambin_fr
 

Was ist angesagt? (20)

Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous android
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Niji rapport de prévention 2021 - i os 15
Niji   rapport de prévention 2021 - i os 15Niji   rapport de prévention 2021 - i os 15
Niji rapport de prévention 2021 - i os 15
 
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchMobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
 
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
Niji   mobile factory - prevention application mobile android11-i os14- 06-2020Niji   mobile factory - prevention application mobile android11-i os14- 06-2020
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Niji rapport de prévention 2021 - android 12
Niji   rapport de prévention 2021 - android 12Niji   rapport de prévention 2021 - android 12
Niji rapport de prévention 2021 - android 12
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open source
 
Niji x mobile mots flash
Niji x mobile   mots flashNiji x mobile   mots flash
Niji x mobile mots flash
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
 
Android studio 2.0
Android studio 2.0Android studio 2.0
Android studio 2.0
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
 

Andere mochten auch

Android un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousAndroid un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousMathias Seguy
 
ProTips DroidCon Paris 2013
ProTips DroidCon Paris 2013ProTips DroidCon Paris 2013
ProTips DroidCon Paris 2013Mathias Seguy
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleMathias Seguy
 
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Mathias Seguy
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mathias Seguy
 
Treatment, Architecture and Threads
Treatment, Architecture and ThreadsTreatment, Architecture and Threads
Treatment, Architecture and ThreadsMathias Seguy
 
Formation au Mobile Commerce (m-commerce)
Formation au Mobile Commerce (m-commerce)Formation au Mobile Commerce (m-commerce)
Formation au Mobile Commerce (m-commerce)SimaWay Simaway
 
سيرتي الذاتية بالغة العربية
سيرتي الذاتية بالغة العربيةسيرتي الذاتية بالغة العربية
سيرتي الذاتية بالغة العربيةTaoufik Chaieb
 
Le Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçuesLe Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçuesLaFrenchMobile
 
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2Mathias Seguy
 
1er Baromètre du Marketing Mobile en France
1er Baromètre du Marketing Mobile en France1er Baromètre du Marketing Mobile en France
1er Baromètre du Marketing Mobile en Franceservicesmobiles.fr
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
In01 - Programmation Android - 06 - publication
In01 - Programmation Android - 06 - publicationIn01 - Programmation Android - 06 - publication
In01 - Programmation Android - 06 - publicationYann Caron
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesYann Caron
 
Les applications mobiles, sites mobiles et web apps
Les applications mobiles, sites mobiles et web appsLes applications mobiles, sites mobiles et web apps
Les applications mobiles, sites mobiles et web appsNeedeo
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm
 
Les 10 risques liés aux applications mobiles
Les 10 risques liés aux applications mobilesLes 10 risques liés aux applications mobiles
Les 10 risques liés aux applications mobilesBee_Ware
 

Andere mochten auch (20)

Android un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nousAndroid un nouveau futur s'ouvre à nous
Android un nouveau futur s'ouvre à nous
 
ProTips DroidCon Paris 2013
ProTips DroidCon Paris 2013ProTips DroidCon Paris 2013
ProTips DroidCon Paris 2013
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification Google
 
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.
 
Treatment, Architecture and Threads
Treatment, Architecture and ThreadsTreatment, Architecture and Threads
Treatment, Architecture and Threads
 
Formation au Mobile Commerce (m-commerce)
Formation au Mobile Commerce (m-commerce)Formation au Mobile Commerce (m-commerce)
Formation au Mobile Commerce (m-commerce)
 
سيرتي الذاتية بالغة العربية
سيرتي الذاتية بالغة العربيةسيرتي الذاتية بالغة العربية
سيرتي الذاتية بالغة العربية
 
Le Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçuesLe Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçues
 
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part2
 
1er Baromètre du Marketing Mobile en France
1er Baromètre du Marketing Mobile en France1er Baromètre du Marketing Mobile en France
1er Baromètre du Marketing Mobile en France
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
In01 - Programmation Android - 06 - publication
In01 - Programmation Android - 06 - publicationIn01 - Programmation Android - 06 - publication
In01 - Programmation Android - 06 - publication
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancées
 
Les applications mobiles, sites mobiles et web apps
Les applications mobiles, sites mobiles et web appsLes applications mobiles, sites mobiles et web apps
Les applications mobiles, sites mobiles et web apps
 
Business Plan d’une application mobile
Business Plan d’une application mobileBusiness Plan d’une application mobile
Business Plan d’une application mobile
 
Marketing Mobile
Marketing MobileMarketing Mobile
Marketing Mobile
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
 
Les 10 risques liés aux applications mobiles
Les 10 risques liés aux applications mobilesLes 10 risques liés aux applications mobiles
Les 10 risques liés aux applications mobiles
 

Ähnlich wie CocoaHeads An Android Overview (fr)

SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...TelecomValley
 
Présentation android
Présentation androidPrésentation android
Présentation androiddiop5
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobileHaifa Chorfi
 
L’open-source au cœur des magasins d’applications
L’open-source au cœur des magasins d’applicationsL’open-source au cœur des magasins d’applications
L’open-source au cœur des magasins d’applicationsLaFrenchMobile
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013jeromevdl
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfolfaharrabi2
 
Chapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidChapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidSalah Gharbi
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageLaFrenchMobile
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
Presentation Android
Presentation AndroidPresentation Android
Presentation AndroidJean Collas
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
Android, historique et enjeux
Android, historique et enjeuxAndroid, historique et enjeux
Android, historique et enjeuxCrossmedias
 
Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologieekino
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic FrameworkNdongo Samb
 
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Microsoft
 

Ähnlich wie CocoaHeads An Android Overview (fr) (20)

SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
 
Intro Android
Intro AndroidIntro Android
Intro Android
 
Présentation android
Présentation androidPrésentation android
Présentation android
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
L’open-source au cœur des magasins d’applications
L’open-source au cœur des magasins d’applicationsL’open-source au cœur des magasins d’applications
L’open-source au cœur des magasins d’applications
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
android.pdf
android.pdfandroid.pdf
android.pdf
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
 
Chapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-androidChapitre 1-introduction-plateforme-android
Chapitre 1-introduction-plateforme-android
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
Android, historique et enjeux
Android, historique et enjeuxAndroid, historique et enjeux
Android, historique et enjeux
 
Architecture android
Architecture androidArchitecture android
Architecture android
 
Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologie
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic Framework
 
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
 

Mehr von Mathias Seguy

Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Mathias Seguy
 
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)Animate Me, if you don't do it for me do it for chet (DroidCon Paris)
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)Mathias Seguy
 
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015Mathias Seguy
 
Animate me, If you don't do it for me do it for Chet :)
Animate me, If you don't do it for me do it for Chet :)Animate me, If you don't do it for me do it for Chet :)
Animate me, If you don't do it for me do it for Chet :)Mathias Seguy
 
Android2EE training: Tutorials list of Android projects
Android2EE training: Tutorials list of Android projectsAndroid2EE training: Tutorials list of Android projects
Android2EE training: Tutorials list of Android projectsMathias Seguy
 
Voyage en monde Android. Trucs et astuces tout au long de la route.
Voyage en monde Android. Trucs et astuces tout au long de la route.Voyage en monde Android. Trucs et astuces tout au long de la route.
Voyage en monde Android. Trucs et astuces tout au long de la route.Mathias Seguy
 

Mehr von Mathias Seguy (6)

Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
 
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)Animate Me, if you don't do it for me do it for chet (DroidCon Paris)
Animate Me, if you don't do it for me do it for chet (DroidCon Paris)
 
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015
Animate Me! if you don't do it for me, do it for Chet - DroidconLondon2015
 
Animate me, If you don't do it for me do it for Chet :)
Animate me, If you don't do it for me do it for Chet :)Animate me, If you don't do it for me do it for Chet :)
Animate me, If you don't do it for me do it for Chet :)
 
Android2EE training: Tutorials list of Android projects
Android2EE training: Tutorials list of Android projectsAndroid2EE training: Tutorials list of Android projects
Android2EE training: Tutorials list of Android projects
 
Voyage en monde Android. Trucs et astuces tout au long de la route.
Voyage en monde Android. Trucs et astuces tout au long de la route.Voyage en monde Android. Trucs et astuces tout au long de la route.
Voyage en monde Android. Trucs et astuces tout au long de la route.
 

CocoaHeads An Android Overview (fr)

  • 1. vous présente : Spécialiste Android Java J2EE Auteur du livre disponible sur 1
  • 2. •Qui est Android •Un cas concret: •Android et le monde de l’IT •Projet initial •Invasion de la mobilité •Le code •GooglePlay moteur de l’adoption •Amélioration •The patents war •Le code •Programmation Android •La diversité •Règles •Multi-screens •Acteurs principaux du système •Hétérogénéité •Structure d’un projet 2
  • 3. Formateur Consultant Expert Android mathias.seguy.it@gmail.com (mail) @android2ee (twitter) Auteur d’EBooks sur la programmation Android (Android2ee.com) Conférencier et Enseignant Android Docteur en Mathématiques Fondamentales Expert Technique de l'Agence Nationale de la Recherche Rédacteur sur Developpez.com Blogs Android : Android2EE sur DVP et Android2ee sur BlogSpot Doctorat Mathématiques Naissance Fondamentale Via CapGemini Via Sopra Android2EE Siemens Magnus DGA CNES Airbus Airbus Airbus STI Android2 VDO EE 03 04 05 06 07 08 09 10 11 12 Java J2EE Android Leader Manager Manager Leader Directeur Fondateur IHM Leader Leader Manager Technique Technique Android2EE Développeu Développeu r r Technique Technique Master Informatique Chez STI de l’ENSEEIHT 3
  • 4. 4
  • 5. •2003 création d’Android Inc •2005 Google acquiert Android •2007 Création de l’Open Handset Alliance •2007 Android Beta SDK released 23/09/2008 30/04/2009 15/09/2009 26/10/2009 20/05/2010 06/12/2010 10/05/2011 19/11/2011 5
  • 6. 6
  • 7. 7
  • 8. Invasion de la mobilité via les smartphones: Le taux de pénétration des smartphones est exceptionnel, tant part sa valeur actuelle que par la rapidité de sa progression. • 486M de smartphones vendus en 2011. • 27% du parc mondial. Android, l’OS Winner ! En quatre ans, Android est devenu leader mondial du système d’exploitation des smartphones, en terme de stock et en terme de vente. 8
  • 9. GooglePlay (AndroidMarket) versus AppleStore, la guerre du Market. • Le nombre d’applications sur GooglePlay est en hausse permanente. • + 17 391 % en 3 ans • + 320 % en 1 an • Le nombre d’applications téléchargées a pour unité le milliard. • +500% sur 1 an • 10 000 000 000 de downloads ! Cette dynamique est la clef de réussite de la plateforme, le facteur d’adoption. 9
  • 10. La guerre des brevets fait rage dans les grands comptes de l’IT. Depuis l’été 2011, cette guerre fait des ravages dans le monde entier. Le système Android est attaqué par le trio Microsoft-Apple-Oracle et se défend: Apple versus Android : La guerre froide Ces deux-là se mènent une guerre non frontale: Apple attaque les constructeurs et Google rachète Motorola pour 8.6B$. Apple versus HTC et Samsung: La guerre des tribunaux. Interdiction du GalaxyTab en Australie, plainte en Europe et aux Etats Unis… (Depuis peu demande un accord « amiable » entre 5 et 15$ par unité). Microsoft versus Android: La guerre des gangs. Microsoft a su imposer une redevance (5$) à Samsung et à HTC pour chaque unité Android vendue. Oracle Versus Android : l’open-guerre Quand l’open source fait la guerre à l’open source… Plainte déposée par Oracle en 2010 (le procès Est en cours… à suivre). Vidyanand Kamat/Forbes India 10
  • 11. 11
  • 12. Respecter ses données, Respecter sa confidentialité. Respecter le CPU, Respecter la batterie, Respecter la mémoire. Respecter la charte graphique Android, Respecter les bonnes pratiques du système. … 12
  • 13. : Ce sont les programmes vu par l’utilisateur. : Les services ont une durée de vie potentiellement Ils possèdent une I.H.M. infinie (contrairement aux activités et aux fournisseurs de données). Ce sont des processus qui tournent dans la : Ils offrent un niveau d’abstraction même Thread que l’application sans IHM. pour l’accès à toutes les données stockées sur : Ce sont des messages systèmes qui servent de le terminal. Les données sont identifiées au support événementiel pour permettre le dialogue entre moyen d’URI (Unified Ressources Identifier). applications. On répond et on envoie des intentions qui lancent ou communiquent avec les activités. Listen Service Listen BroadCastReceiver Bind Activity StartActivity ContentResolver.action(URI,…) CRUD operation return URI ContentProvider Send Intent Find ContentProvider 13
  • 14. Un projet Android simple contient les dossiers: pour les sources Java pour les sources générées à partir du dossier res pour les dossiers de ressources: pour les images pour la définition des composants graphiques pour les chaînes de caractères ainsi que le fichier qui est le centre névralgique de votre application. Il décrit les besoins de votre application, en termes de SDK, de compatibilité matérielle, d’API utilisées et d’utilisation de services du système. Il décrit ce qu’offre votre application au système (Activity, ContentProvider, Service…), et les éléments auxquels votre application réagit au moyen des IntentFilters et d’URI ainsi que les permissions nécessaire pour les utiliser. 14
  • 15. 15
  • 16. Cette application permet d’ajouter des items à une liste d’items. Il y a : • Un titre • Une zone d’édition • Un bouton Ajouter • Une liste contenant les éléments ajouter Allons voir le projet: • Le fichier des layouts qui définit l’IHM, • La classe Java • Le fichier Manifest 16
  • 17. On obtient simplement cette application, en ajoutant à l’application précédente: • Une gestion des couleurs • Une gestion des dimensions • Une gestion de la forme des éléments graphiques • Une gestion des styles Allons voir le fichier: • Des dimensions et celui des couleurs • Des styles • Des formes 17
  • 18. 18
  • 19. Le problème est simple : 4 densités d’écran différentes pour 4 tailles d’écran différentes soit 16 configurations. Il faut alors: •Définir les composants dans des tailles indépendantes de la densité de l’écran; •Définir pour chaque image, 4 tailles d’image différentes (3|4|6|8); •Définir des layouts différents en fonction des tailles des écrans. LDPI MDPI HDPI XHDPI LDPI MDPI HDPI XHDPI ≈120DPI ≈160DPI ≈240DPI ≈320DPI ≈120DPI ≈160DPI ≈240DPI ≈320DPI Small 1.7% 2.4% Screen Small QVGA (240×320) 480x640 Normal 0.7% 18.5% 66.3% 2.5% Screen Screen WQVGA400 Large Normal (240×400) HVGA (320×480) WVGA800(480×800) Screen 0.2% 2.8% WVGA854(480×854) 640x960 WQVGA432 HTC-GI Screen (240×432) 600x1024 Extra Large 4.9% WVGA800** WVGA800* Screen Large (480x800) (480×800) TV720p TV1080p WVGA854** WVGA854* (1280×720) (1980×1080) http://developer.android.co Screen (480x854) (480×854) m/resources/dashboard/scr eens.html Extra Large WXGA (1280×800) 1536x1152 2048x1536 1024x600 1024x768 1920x1152 2560x1536 Screen 1280x768 1920x1200 2560x1600 http://developer.android.co m/guide/practices/screens_ support.html Exemple: 480*800 HDPI GalaxySII 1280*800 Galaxy Note WXGA 1024*600 WSVGA Galaxy Tab 19
  • 20. L’hétérogénéité des versions et des appareils génère la problématique rencontrée par les développeurs pour couvrir l’ensemble des versions du système, des appareils du marché, avec une même application, un même code… C’est l’enfer : • De l’apprentissage des nouvelles API, des bonnes pratiques qui s’enchainent, • De la mise à jour des applications existantes, des tests et des refactoring… • Des bugs spécifiques à un appareil, à une version… • De la complexité du code qui s’envole pour couvrir tous les cas. Effectivement, c’est l’horreur surtout depuis la rupture HoneyComb. D’un autre côté, c’est la conséquence directe: • De l’adoption d’Android par un grands nombre de constructeurs, • Du dynamisme des développeurs Google du SDK d’Android qui cherchent à atteindre la perfection. Alors arrêtons de nous plaindre. C’est une opportunité, sachons en profiter. http://developer.android.com/resourc es/dashboard/platform-versions.html 20
  • 21. 21
  • 22. Aujourd’hui Android envahit la téléphonie mobile. Demain, Android sera partout: téléphone, tablette, télévision, montres, chaine Hifi, voiture, électroménager, domotique …. Partout, vous dis-je. 22
  • 23. Cette conférence utilise les références suivantes: • Les EBooks et tutoriels d’Android2ee : http://www.android2ee.com • Les sites de référence Android: • http://developer.android.com/index.html • http://android-developers.blogspot.fr/ • http://www.google.com/events/io/2011/sessions.html • La charte graphique Android (Android Design): http://developer.android.com/design/index.html Sur Android2ee, vous trouverez les tutoriels libres suivants pour approfondir les notions présentées: • Les capteurs • Les thread de traitement (Handler et fuite mémoire) • Les AppWidgets • Construction dynamique d’IHM • Service REST • Lecteur de flux RSS • Le fichier POM pour mavéniser vos projets • Comment préparer ses livraisons sur GooglePlay Sur developpez.com vous trouverez les articles suivants: •Déployer son application Android et obtenir sa clef MapView. •Construire dynamiquement ses IHM Android •Les capteurs Android •Thread, Handler, AsyncTask et fuites mémoires •Investir l'écran d'accueil Android avec les AppWidgets •Android, Livrer son projet sur GooglePlay 23
  • 24. . Merci pour votre attention. android2ee.com. Et rendez-vous à : #android2ee L’Eclipse Day Toulouse le 24 Mai mathias.seguy.it@gmail.com Ou à Brazzaville MySensors, MyLight et MyTorch En Septembre disponible sur GooglePlay 24