• Aucun résultat trouvé

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

N/A
N/A
Protected

Academic year: 2022

Partager "Développement tablette Android. SophiaConf2011 Par Arnaud FARINE"

Copied!
32
0
0

Texte intégral

(1)

Développement tablette Android

SophiaConf2011

Par Arnaud FARINE

(2)

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

 Distribution

 Tous les opérateurs

 Tous les constructeurs (exceptés BB, Nokia, Apple)

 Nouveaux acteurs

 Produits spécifiques (par exemple : Tablettes dédiées)

 Marques distributeurs

 Marques chinois

 Appareils Android

 Smartphone 75%

 Tablette 20%

 Autres (TV) 5%

 Nombreux projets de R&D

 200 000 applications prochainement

(3)

Android en 2011

 Les versions Android : 95% 2.x

 Les écrans

Densités

ldpi mdpi hdpi xhdpi

Taille

small 3,3%

normal 1.1% 17,0% 75,2%

large 2,8%

xlarge 0,7%

(4)

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

 2011 et Android 3.0

 Version destinée aux tablettes

 Nouvelle expérience utilisateurs (taille d'écran, définition, touches)

 Nouvelles API (notamment graphiques)

 Validation Google : accès aux services

 Matériels Android 2.x

 Samsung Galaxy Tab (7'')

 Archos 5, 7, 8, 101

 Matériels Android 3.x : >7'' uniquement

 Motorola Xoom, Acer Iconia 500

 HTC Flyer, Samsung Tab 8.9 et 10.1

(5)

Développement tablette

 1 code = smartphone + tablette

 100% Android 2.x

 100% Android 3.x (ajout de code spécifique, test version)

 Ne pas négliger les prérequis matériels

 Prévoir les cas des diversités matériels

 Prévoir les markets alternatifs

 Contraindre les prérequis matériels / logiciels

Puce GPS

Appareil photo

Librairie Google Maps

 Revoir l'UI en fonction de l'UX

 Taille 3'' et 10''

 Résolution 240x320 à 1280x1024

 Mode paysage plutôt que portrait

 Nombre d'informations affichées plus important

 UX différente sur Android 3.x

(6)

Développement Tablette 2.x

 Factoriser le code

 Découper au plus juste l'UI en composant

 Penser au include

 Composant merge

 Définir des layouts Portraits ET Paysage

 /res/layout-port et /res/layout-land

 Eviter les placements fixes

 OnConfigurationChanged (gestion des changements d'orientation) et configChanges=orientation|keyboardhidden

 Définir les images

 Image en fonction des résolutions

Ldpi, mdpi, hdpi, xhdpi

Limiter le texte dans vos images !

 Utiliser les ShapeDrawable

Création d'image en XML (similaire SVG)

Image dynamique / extensible

 Penser draw9patch !

Définition des zones extensibles d'une image

(7)

Développement Tablette 3.x

 Nouvelle interface et expérience utilisateur

 Nouveau système de notification

 Remplacement des boutons matériels

Retour (back)

Home

 Affichage des applications en cours

Notifications Back

Home Application

en cours

(8)

Développement Tablette 3.x

 Les fragments

 Découpage de l'écran en View ou Activity

 Intéraction entre les fragments

 Affecter une partie de l'écran à une fonction

Nexus S (2.3.3) - Gmail Acer Iconia 500 (3.0.1) - Gmail

(9)

Développement Tablette 3.x

 Lecture Gmail

Nexus S (2.3.3) – Lecture email Acer Iconia 500 (3.0.1) – Lecture email

(10)

Développement Tablette 3.x

Youtube

Liste des vidéos

Lecture vidéo

(11)

Développement Tablette 3.x

 Appliquer les conseils Développement Tablette 2.x :)

 Test du SDK et configuration écran

 Build.VERSION.SDK_INT > 10

 Configuration.SCREENLAYOUT_SIZE_XLARGE

 Un layout spécifique

 Layout-xlarge

 Contient tous les fragments

Fragment = 1 classe extends Fragment

android:name ==> classe

Implémentation OnCreateView

Inflate d'un layout spécifique au fragment

 getFragmentManager()

 Gestionnaire de fragment

 Fragment f = getFragementManager().findFragmentById(id_fragment)

 View v = f.getView()

(12)

Développement tablette 2.x et 3.x

Possible

 Si API commune

 Tester la version Android cible

 Charger les bons contenus et éventuellement les API

 Choix stratégique

 1 seule application

Développement plus complexe

Risque d'effet de bords

Maintenance sur un seul code

Pas de démarcation sur l'Android Market

 2 applications

Développement propre à chaque plateforme

Duplication du code - Maintenance

Application “clairement” identifiable tablette

 Peu de contenu aujourd'hui dédié tablette

(13)

Nouveautés Android 3.x

 Nouveaux outils de développements

 Optimisation importante du plugin de création UI sous Eclipse

Fragments

 Découpage de l'écran en partie indépendante

 Drag and drop

 Gestion du drag and drop d'éléments graphique

 Action Bar

 Remplace la barre de titre : action, icône de l'application

Clipboard

 Le copier / coller accessible dans toutes les applis

 Des Widgets plus interactif

 GridView, ListView, StackView, ViewFlipper dans un widget !

 Système de notifications

 Créer sa propre UI pour les notifications

 Mises à jour de nombreux composants graphiques

 Accélération graphics, RenderScript 3D, Live Streaming, DRM...

(14)

Nouveautés 3.x

 Mais aussi

 Nouvelle librairie WebKit

 Possibilité de faire du multitouch sur différents composants

 Ajout du support de touche clavier (CTRL, Escape...)

 USB Host

 Ext4

 Amélioration JIT, GC

 Navigateur web : Media capture, Device Orientation, CSS 3D

 Ajout de classes utilitaires JSON (reader/writer)

(15)

Android 3.x sur smarphone ?

Honeycomb Ice Cream

Sandwich

(16)

Expertise Android

10, rue du Cherche Midi 06 250 MOUGINS

Tél: 06 30 05 46 49

email: [email protected]

Contact

(17)

Développement tablette Android

SophiaConf2011 Par Arnaud FARINE

(18)

Copyright Expertise Android

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

 Distribution

 Tous les opérateurs

 Tous les constructeurs (exceptés BB, Nokia, Apple)

 Nouveaux acteurs

 Produits spécifiques (par exemple : Tablettes dédiées)

 Marques distributeurs

 Marques chinois

 Appareils Android

 Smartphone 75%

 Tablette 20%

 Autres (TV) 5%

 Nombreux projets de R&D

 200 000 applications prochainement

(19)

Copyright Expertise Android

Android en 2011

 Les versions Android : 95% 2.x

 Les écrans

Densités

ldpi mdpi hdpi xhdpi

Taille

small 3,3%

normal 1.1% 17,0% 75,2%

large 2,8%

xlarge 0,7%

(20)

Copyright Expertise Android

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

 2011 et Android 3.0

 Version destinée aux tablettes

 Nouvelle expérience utilisateurs (taille d'écran, définition, touches)

 Nouvelles API (notamment graphiques)

 Validation Google : accès aux services

 Matériels Android 2.x

 Samsung Galaxy Tab (7'')

 Archos 5, 7, 8, 101

 Matériels Android 3.x : >7'' uniquement

 Motorola Xoom, Acer Iconia 500

 HTC Flyer, Samsung Tab 8.9 et 10.1

(21)

Copyright Expertise Android

Développement tablette

 1 code = smartphone + tablette

 100% Android 2.x

 100% Android 3.x (ajout de code spécifique, test version)

 Ne pas négliger les prérequis matériels

 Prévoir les cas des diversités matériels

 Prévoir les markets alternatifs

 Contraindre les prérequis matériels / logiciels

Puce GPS

Appareil photo

Librairie Google Maps

 Revoir l'UI en fonction de l'UX

 Taille 3'' et 10''

 Résolution 240x320 à 1280x1024

 Mode paysage plutôt que portrait

 Nombre d'informations affichées plus important

 UX différente sur Android 3.x

(22)

Copyright Expertise Android

Développement Tablette 2.x

 Factoriser le code

 Découper au plus juste l'UI en composant

 Penser au include

 Composant merge

 Définir des layouts Portraits ET Paysage

 /res/layout-port et /res/layout-land

 Eviter les placements fixes

 OnConfigurationChanged (gestion des changements d'orientation) et configChanges=orientation|keyboardhidden

 Définir les images

 Image en fonction des résolutions

Ldpi, mdpi, hdpi, xhdpi

Limiter le texte dans vos images !

 Utiliser les ShapeDrawable

Création d'image en XML (similaire SVG)

Image dynamique / extensible

 Penser draw9patch !

Définition des zones extensibles d'une image

(23)

Copyright Expertise Android

Développement Tablette 3.x

 Nouvelle interface et expérience utilisateur

 Nouveau système de notification

 Remplacement des boutons matériels

Retour (back)

Home

 Affichage des applications en cours

Notifications Back

Home Application

en cours

Barre toujours présente

(24)

Copyright Expertise Android

Développement Tablette 3.x

 Les fragments

 Découpage de l'écran en View ou Activity

 Intéraction entre les fragments

 Affecter une partie de l'écran à une fonction

Nexus S (2.3.3) - Gmail Acer Iconia 500 (3.0.1) - Gmail

(25)

Copyright Expertise Android

Développement Tablette 3.x

 Lecture Gmail

Nexus S (2.3.3) – Lecture email Acer Iconia 500 (3.0.1) – Lecture email

(26)

Copyright Expertise Android

Développement Tablette 3.x

Youtube

Liste des vidéos

Lecture vidéo

(27)

Copyright Expertise Android

Développement Tablette 3.x

 Appliquer les conseils Développement Tablette 2.x :)

 Test du SDK et configuration écran

 Build.VERSION.SDK_INT > 10

 Configuration.SCREENLAYOUT_SIZE_XLARGE

 Un layout spécifique

 Layout-xlarge

 Contient tous les fragments

Fragment = 1 classe extends Fragment

android:name ==> classe

Implémentation OnCreateView

Inflate d'un layout spécifique au fragment

 getFragmentManager()

 Gestionnaire de fragment

Fragment f = getFragementManager().findFragmentById(id_fragment)

View v = f.getView()

(28)

Copyright Expertise Android

Développement tablette 2.x et 3.x

Possible

 Si API commune

 Tester la version Android cible

 Charger les bons contenus et éventuellement les API

 Choix stratégique

 1 seule application

Développement plus complexe

Risque d'effet de bords

Maintenance sur un seul code

Pas de démarcation sur l'Android Market

 2 applications

Développement propre à chaque plateforme

Duplication du code - Maintenance

Application “clairement” identifiable tablette

 Peu de contenu aujourd'hui dédié tablette

(29)

Copyright Expertise Android

Nouveautés Android 3.x

 Nouveaux outils de développements

 Optimisation importante du plugin de création UI sous Eclipse

 Fragments

 Découpage de l'écran en partie indépendante

 Drag and drop

 Gestion du drag and drop d'éléments graphique

 Action Bar

 Remplace la barre de titre : action, icône de l'application

 Clipboard

 Le copier / coller accessible dans toutes les applis

 Des Widgets plus interactif

 GridView, ListView, StackView, ViewFlipper dans un widget !

 Système de notifications

 Créer sa propre UI pour les notifications

 Mises à jour de nombreux composants graphiques

 Accélération graphics, RenderScript 3D, Live Streaming, DRM...

(30)

Copyright Expertise Android

Nouveautés 3.x

 Mais aussi

 Nouvelle librairie WebKit

 Possibilité de faire du multitouch sur différents composants

 Ajout du support de touche clavier (CTRL, Escape...)

 USB Host

 Ext4

 Amélioration JIT, GC

 Navigateur web : Media capture, Device Orientation, CSS 3D

 Ajout de classes utilitaires JSON (reader/writer)

(31)

Copyright Expertise Android

Android 3.x sur smarphone ?

Click to add an outline

Honeycomb Ice Cream

Sandwich

(32)

Copyright Expertise Android

Expertise Android

10, rue du Cherche Midi 06 250 MOUGINS

Tél: 06 30 05 46 49

email: [email protected]

Contact

Références

Documents relatifs

Hier, nous avons trouvé une « bête noire » dans le vivarium.. L’adulte ne ressemble pas à

exploitera la configuration JavaScript en mode plein écran afin de n’afficher que la vidéo.. 4 ) Encapsulation de la page web dans l’application python et intégration des

Comme tous les autres livres numériques proposés par Dilicom PNB, au-delà de la durée de l’emprunt, le livre audio sera restitué automatiquement, mais vous pouvez dès que vous

Dans le cadre du projet de fin d'année en E3, nous avons opté pour le développement d'une application multimédia fonctionnant sous le système Android, que ce

Créer une classe pour gérer la fenêtre va peut-être vous paraître un peu lourd au premier abord, mais c'est pourtant comme ça qu'on fait à chaque fois que l'on crée des GUI en

- qui est moins répandu pour la fabrication du pain.Il ne peut pas être facilement panifié (c'est à dire utilisé pour la fabrication du pain) car il est trop dur pour être réduit

 Chaque application, pour chaque activité et service, peut déclarer une balise <intent-filter>.  Cette balise est utilisé par le

Une fois que vous avez configuré les widgets et les conteneurs dans un fichier de positionnement XML nommé main.xml et que vous l'avez bien placé dans le répertoire res/layout,