Vous êtes sur la page 1sur 16

Dveloppement tablette Android

SophiaConf2011 Par Arnaud FARINE

Android en 2011
!! Parts de march
"! "! "! "! "! "! "! "! "! "! "! "! 1er OS vendu aux EU fin 2010 24% des smartphones en France (35% iOS, 11% Blackberry) 3,6 millions de smartphones Tous les oprateurs Tous les constructeurs (excepts BB, Nokia, Apple) Nouveaux acteurs Produits spcifiques (par exemple : Tablettes ddies) Marques distributeurs Marques chinois Smartphone 75% Tablette 20% Autres (TV) 5%

!! Distribution

!! Appareils Android

!! Nombreux projets de R&D !! 200 000 applications prochainement


Copyright Expertise Android

Android en 2011
!!
Les versions Android : 95% 2.x

!!

Les crans
Densits ldpi small Taille normal large xlarge
Copyright Expertise Android

mdpi 17,0% 2,8% 0,7%

hdpi 3,3% 75,2%

xhdpi

1.1%

Les tablettes
!! Avant 2011
"! "! "! "! "! "! "! "! "! "! "! "! "! Archos depuis 2009 Quelques constructeurs copieurs Google Android n'est pas optimis pour les tablettes Services Google non disponibles Difficult de distribution Version destine aux tablettes Nouvelle exprience utilisateurs (taille d'cran, dfinition, touches) Nouvelles API (notamment graphiques) Validation Google : accs aux services Samsung Galaxy Tab (7'') Archos 5, 7, 8, 101 Motorola Xoom, Acer Iconia 500 HTC Flyer, Samsung Tab 8.9 et 10.1
Copyright Expertise Android

!! 2011 et Android 3.0

!! Matriels Android 2.x !! Matriels Android 3.x : >7'' uniquement

Dveloppement tablette
!! 1 code = smartphone + tablette
"! "! "! "! "! 100% Android 2.x 100% Android 3.x (ajout de code spcifique, test version) Prvoir les cas des diversits matriels Prvoir les markets alternatifs Contraindre les prrequis matriels / logiciels
#! #! #!

!! Ne pas ngliger les prrequis matriels

Puce GPS Appareil photo Librairie Google Maps

!! Revoir l'UI en fonction de l'UX


"! "! "! "! "! Taille 3'' et 10'' Rsolution 240x320 1280x1024 Mode paysage plutt que portrait Nombre d'informations affiches plus important UX diffrente sur Android 3.x

Copyright Expertise Android

Dveloppement Tablette 2.x


!! Factoriser le code !! Dcouper au plus juste l'UI en composant
"! "! "! "! "! Penser au include Composant merge /res/layout-port et /res/layout-land Eviter les placements fixes OnConfigurationChanged (gestion des changements d'orientation) configChanges=orientation|keyboardhidden Image en fonction des rsolutions
#! #!

!! Dfinir des layouts Portraits ET Paysage


et

!! Dfinir les images


"!
Ldpi, mdpi, hdpi, xhdpi Limiter le texte dans vos images ! Cration d'image en XML (similaire SVG) Image dynamique / extensible Dfinition des zones extensibles d'une image
Copyright Expertise Android

"!

Utiliser les ShapeDrawable


#! #!

"!

Penser draw9patch !
#!

Dveloppement Tablette 3.x


!! Nouvelle interface et exprience utilisateur
"! "! Nouveau systme de notification Remplacement des boutons matriels
#! #!

Retour (back) Home

"!

Affichage des applications en cours

Back Home Application en cours Barre toujours prsente


Copyright Expertise Android

Notifications

Dveloppement Tablette 3.x


!! Les fragments
"! "! "! Dcoupage de l'cran en View ou Activity Intraction entre les fragments Affecter une partie de l'cran une fonction

Nexus S (2.3.3) - Gmail

Acer Iconia 500 (3.0.1) - Gmail


Copyright Expertise Android

Dveloppement Tablette 3.x


!! Lecture Gmail

Nexus S (2.3.3) Lecture email

Acer Iconia 500 (3.0.1) Lecture email

Copyright Expertise Android

Dveloppement Tablette 3.x


!! Youtube

Liste des vidos

Lecture vido

Copyright Expertise Android

Dveloppement Tablette 3.x


!! Appliquer les conseils Dveloppement Tablette 2.x :) !! Test du SDK et configuration cran
"! "! "! "! Build.VERSION.SDK_INT > 10 Configuration.SCREENLAYOUT_SIZE_XLARGE Layout-xlarge Contient tous les fragments
#! #! #! #!

!! Un layout spcifique
Fragment = 1 classe extends Fragment android:name ==> classe Implmentation OnCreateView Inflate d'un layout spcifique au fragment

!! getFragmentManager()
"!
"! "!

Gestionnaire de fragment
Fragment f = getFragementManager().findFragmentById(id_fragment) View v = f.getView()

Copyright Expertise Android

Dveloppement tablette 2.x et 3.x


!! Possible
"! "! "! "! Si API commune Tester la version Android cible Charger les bons contenus et ventuellement les API 1 seule application
#! #! #! #!

!! Choix stratgique
Dveloppement plus complexe Risque d'effet de bords Maintenance sur un seul code Pas de dmarcation sur l'Android Market Dveloppement propre chaque plateforme Duplication du code - Maintenance Application clairement identifiable tablette

"!

2 applications
#! #! #!

!! Peu de contenu aujourd'hui ddi tablette

Copyright Expertise Android

Nouveauts Android 3.x


!! Nouveaux outils de dveloppements
"! "! "! "! "! "! "! Optimisation importante du plugin de cration UI sous Eclipse Dcoupage de l'cran en partie indpendante Gestion du drag and drop d'lments graphique Remplace la barre de titre : action, icne de l'application Le copier / coller accessible dans toutes les applis GridView, ListView, StackView, ViewFlipper dans un widget ! Crer sa propre UI pour les notifications

!! Fragments !! Drag and drop !! Action Bar !! Clipboard !! Des Widgets plus interactif !! Systme de notifications !! Mises jour de nombreux composants graphiques !! Acclration graphics, RenderScript 3D, Live Streaming, DRM...
Copyright Expertise Android

Nouveauts 3.x
!! Mais aussi
"! "! "! "! "! "! "! "! Nouvelle librairie WebKit Possibilit de faire du multitouch sur diffrents composants Ajout du support de touche clavier (CTRL, Escape...) USB Host Ext4 Amlioration JIT, GC Navigateur web : Media capture, Device Orientation, CSS 3D Ajout de classes utilitaires JSON (reader/writer)

Copyright Expertise Android

Android 3.x sur smarphone ?

Honeycomb

Ice Cream Sandwich

Copyright Expertise Android

Contact
Expertise Android
10, rue du Cherche Midi 06 250 MOUGINS Tl: 06 30 05 46 49 email: contacts@expertiseandroid.com

Copyright Expertise Android