Table des matières. Partie I Concepts de base... 1. Préface... VII



Documents pareils
Android 4 Les fondamentaux du développement d'applications Java

Optimiser pour les appareils mobiles

Table des matières Introduction Démarrage Les composants graphiques... 26

Gestion des différentes tailles d écran

Développement d applications professionnelles avec Android 2

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

TP2 : Client d une BDD SqlServer

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Les fondamentaux du développement d applications Java

TD/TP 1 Introduction au SDK d Android

Point sur les solutions de développement d apps pour les périphériques mobiles

Chapitre 1 Retour en arrière

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Table des matières ENVIRONNEMENT

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Installation et prise en main

FreeMind. Freeplane XMind. 2 e édition. Bien démarrer avec le Mind Mapping. . Groupe Eyrolles, 2010, ISBN :

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

1.3 Gestion d'une application

Paramètres d accessibilité des systèmes d exploitation Windows et Mac

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Groupe Eyrolles, 2003, ISBN : X

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

APPAREILS ACCESSIBLES

Environnements de développement (intégrés)

Diffuser un contenu sur Internet : notions de base... 13

MO-Call pour les Ordinateurs. Guide de l utilisateur

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Dropbox : démarrage rapide

Manuel logiciel client for Android

Introduction à Eclipse

Lenovo TAB A7-40/ Lenovo TAB A7-50

FileMaker Server 14. Aide FileMaker Server

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Tutorial pour une application simple

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Design adaptatif. Guide de l utilisateur VIENNA LONDON MUNICH BERLIN PARIS HONG KONG MOSCOW ISTANBUL BEIJING ZURICH

Contenu Windows 8 MODULE 1 AVANT-PROPOS MODULE 2 INTRODUCTION À WINDOWS 8 MODULE 4 APPLICATIONS WINDOWS 8 PARTIE 1 MODULE 3 PARAMÈTRES DE WINDOWS 8

Fiche Mémo : Options d accessibilité sous Windows et Internet Explorer 5

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

LES TABLETTES : EN PRATIQUE

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Fiche produit Site Monitor v4

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Enregistrement de votre Géorando Maxi Liberté

Google Drive, le cloud de Google

Guide d utilisation. Version 1.1

Pourquoi utiliser SharePoint?

Windows 8 : une petite révolution? 9. Démarrer Windows Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13

Modifier les paramètres

Créer une application de livre interactif pour tablette avec Indesign CS6 et Adobe Digital Publishing Suite

Freeway 7. Nouvelles fonctionnalités

Guide de l utilisateur Mikogo Version Windows

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

UltraBackup NetStation 4. Guide de démarrage rapide

Introduction à. Oracle Application Express

Joomla! Création et administration d'un site web - Version numérique

Contenu Microsoft Windows 8.1

Animation numérique. de territoire. Créer son site Internet avec un outil gratuit. Mardi 4 novembre Cédric ARNAULT OT Lourdes

HYPERDRIVE iusbport Guide d utilisation

Découvrez Windows NetMeeting

YOGA TABLET 8. Manuel d utilisation V1.0

L espace de travail de Photoshop

PRISE EN MAIN D ILLUSTRATOR

Guide de configuration. Logiciel de courriel

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Initiation à l utilisation de la micro-informatique Internet Explorer 7. Mode d emploi.

CTIconnect PRO. Guide Rapide

Guide de démarrage rapide : NotifyLink pour Windows Mobile

Quel que soit L élève - Il est valorisé par l utilisation d un outil technologique haut de gamme - Il peut travailler seul et à son rythme.

Manuel de l utilisateur. Soft-phone - Client VoIP 3CX Version 6.0

Lutter contre les virus et les attaques... 15

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

FileMaker Server 14. Guide de démarrage

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

TP au menu «UI ANDROID»

SOMMAIRE

THEME RESPONSIVE DESIGN

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

26 Centre de Sécurité et de

Un logiciel pour aller plus loin dans la gestion de vos espaces. Mémo technique

Access 2007 FF Access FR FR Base

GUIDE D UTILISATION. Informations importantes Toshiba FOLIO 100 Conseils pour une première utilisation, configuration et principaux usages

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Pas-à-pas. Créer une newsletter avec Outlook

Indiquer l'espace libre sur le disque dur


WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Créer et partager des fichiers

Table des matières. Module tablette

Mon Mac & Moi : Addendum de 3M/023 Tout sur ipod. Réf : 3M/023A

Cloud public d Ikoula Documentation de prise en main 2.0

< Atelier 1 /> Démarrer une application web

Transcription:

Table des matières Préface... VII Partie I Concepts de base... 1 1. Tour d horizon... 3 Avantages et inconvénients de la programmation des smartphones... 3 Contenu d un programme Android... 4 Fonctionnalités à votre disposition... 5 Tour d horizon... de ce livre... 6 2. Partir du bon pied... 7 Étape 1 : installation de Java... 7 Installation du JDK... 7 Apprendre Java... 8 Étape 2 : installation du SDK Android... 9 Installation des outils de base... 9 Installation des SDK et des greffons... 9 Étape 3 : installation d ADT pour Eclipse. 13 Étape 4 : installation d Apache Ant... 14 Étape 5 : configuration de l émulateur... 15 Étape 6 : configuration du terminal... 19 Windows... 20 Mac OS X et Linux... 20 3. Votre premier projet Android... 23 Étape 1 : création d un nouveau projet... 23 Eclipse... 23 Ligne de commande... 25 Étape 2 : compilation, installation et exécution de l application... 26 Eclipse... 26 Ligne de commande... 27 4. Étude de votre premier projet... 31 Structure d un projet... 31 Contenu de la racine... 31 À la sueur de votre front... 32 La suite de l histoire... 32 Le fruit de votre travail... 33 Contenu du manifeste... 33 Au début, il y avait la racine... 34 Application de votre application... 35 5. Quelques mots sur Eclipse... 37 Présentation d ADT... 37 Travailler avec Eclipse... 38 Comment importer un projet non Eclipse. 38 Utilisation de DDMS... 41 Création d un émulateur... 42 Exécution d un projet... 43 Comment ne pas lancer un projet... 43 Autres IDE... 44 Les IDE et ce livre... 44 6. Amélioration de votre premier projet... 45 Gestion de plusieurs tailles d écran... 45 Versions d Android reconnues par l application... 46

VI L art du développement Android Partie II Activités... 49 7. Réécriture de votre premier projet... 51 L activité... 51 Dissection de l activité... 52 Compiler et lancer l activité... 54 8. Utilisation des layouts XML... 55 Qu est-ce qu un positionnement XML?. 55 Pourquoi utiliser des layouts XML?... 56 Contenu d un fichier layout... 57 Identifiants des widgets... 57 Utilisation des widgets dans le code Java. 58 Fin de l histoire... 58 9. Utilisation des widgets de base... 61 Labels... 61 Boutons... 63 Images... 63 Champs de saisie... 64 Cases à cocher... 66 Switchs... 68 Boutons radio... 70 Résumé... 72 Remplissage... 72 Autres propriétés utiles... 72 Méthodes utiles... 72 Couleurs... 73 10. Conteneurs... 75 Penser de façon linéaire : LinearLayout.. 76 Concepts et propriétés... 76 Exemple... 78 Le modèle des boîtes... 82 Tout est relatif : RelativeLayout... 84 Concepts et propriétés... 84 Exemple... 86 Recouvrements de widgets... 88 Tabula Rasa : TableLayout... 89 Concepts et propriétés... 89 Exemple... 91 Faire défiler : ScrollView... 92 Tout placer dans une grille : GridLayout. 95 11. Le framework des méthodes de saisie... 99 Claviers physiques et logiciels... 99 Adaptation à vos besoins... 100 Dire à Android où aller... 104 Mise en place... 106 Enlevez-moi ça!... 107 12. Widgets de sélection... 109 S adapter aux circonstances... 109 Listes des bons et des méchants... 110 Modes de sélection... 112 Contrôle du Spinner... 114 Mettez vos lions en cage... 117 Champs : économisez 35 % de la frappe!. 121 Galeries... 124 13. S amuser avec les listes... 125 Premières étapes... 125 Présentation dynamique... 127 Inflation des lignes... 129 Aparté sur l inflation... 130 Retour aux listes... 131 Mieux, plus robuste et plus rapide... 131 Utilisation de convertview... 132 Utilisation du patron de conception "support"... 134 Lignes interactives... 135 14. Encore plus de widgets et de conteneurs... 141 Choisir... 141 Le temps s écoule comme un fleuve... 146 Prendre la bonne résolution... 147 Utilisation d onglets... 148 Les pièces du puzzle... 148 Tout câbler... 149 Ajouts dynamiques... 152 Tout faire basculer... 156 Fouiller dans les tiroirs... 161 Autres conteneurs intéressants... 163 15. Intégrer le navigateur de WebKit... 165 Un navigateur, et en vitesse!... 165 Chargement immédiat... 167

Table des matières VII Navigation au long cours... 168 Amuser le client... 169 Réglages, préférences et options... 171 16. Utilisation des menus... 173 Variantes des menus... 173 Menus d options... 174 Menus contextuels... 175 Illustration rapide... 176 Encore de l inflation... 181 Structure XML d un menu... 181 Options des menus et XML... 182 Création d un menu par inflation... 183 Au pays des géants... 185 17. Affichage de messages surgissants... 187 Les toasts... 188 Les alertes... 188 Mise en œuvre... 189 18. Gestion des événements du cycle de vie d une activité... 193 L activité de Schrödinger... 194 Vie et mort d une activité... 194 oncreate() et ondestroy()... 194 onstart(), onrestart() et onstop()... 195 onpause() et onresume()... 195 L état de grâce... 196 19. Gestion de la rotation... 197 Philosophie de la destruction... 197 Tout est pareil, juste différent... 198 Choisir et consulter un contact... 199 Sauvegarde de l état... 201 Il n y a pas de petites économies!... 204 Rotation maison... 206 Mais c est déconseillé par Google.. 209 Forcer le destin... 210 Tout comprendre... 212 20. Utilisation des threads... 213 Le thread principal de l application... 213 Progresser avec les ProgressBar... 214 Les handlers... 215 Les messages... 215 Les runnables... 218 Où est passé le thread de mon interface utilisateur?... 218 Désynchronisation... 219 La théorie... 219 AsyncTask, généricité et paramètres variables... 220 Les étapes d AsyncTask... 220 Exemple de tâche... 221 Threads et rotations... 224 Association manuelle de l activité... 225 Flux des événements... 228 Fonctionnement... 228 Éviter les pièges... 229 21. Création de filtres d intentions... 231 Quelle est votre intention?... 232 Composantes des intentions... 232 Routage des intentions... 233 Déclarer vos intentions... 233 Récepteurs d intention... 234 Des intentions à chaque occasion... 235 Attention à la pause... 235 22. Lancement d activités et de sous-activités... 237 Activités paires et sous-activités... 238 Démarrage... 238 Création d une intention... 238 Faire appel... 239 Navigation avec onglets... 242 23. Utilisation des ressources... 247 Les différents types de ressources... 247 Théorie des chaînes... 248 Chaînes normales... 248 Formats de chaînes... 248 Texte stylé... 249 Formats stylés... 249

VIII L art du développement Android Vous voulez gagner une image?... 253 Les ressources XML... 254 Valeurs diverses... 256 Dimensions... 257 Couleurs... 257 Tableaux... 258 Gérer la différence... 259 Écrire dans les deux sens... 263 24. Définition et utilisation des styles... 265 Styles : DRY... 266 Éléments de style... 267 Où appliquer un style... 267 Attributs disponibles... 268 Héritage d un style... 268 Valeurs possibles... 269 Thèmes : un style particulier... 270 Partie III Honeycomb et tablettes. 271 25. Gestion des différentes tailles d écran. 273 Écran par défaut... 274 Tout en un... 275 Penser en termes de règles, pas en termes de positions... 275 Utiliser des dimensions physiques... 276 Éviter les "vrais" pixels... 276 Choisir des images adaptables... 276 Fait maison, rien que pour vous...... 277 <supports-screens>... 277 Ressources et ensembles de ressources. 278 Trouver sa taille... 279 Rien ne vaut la réalité... 280 Différences de densité... 280 Ajustement de la densité... 280 Exploitez sans vergogne la situation... 281 Remplacer les menus par des boutons. 282 Remplacer les onglets par une seule activité... 282 Consolider les activités multiples... 282 Exemple : EU4You... 283 Première version... 283 Corriger les polices... 289 Corriger les icônes... 291 Utilisation de l espace... 292 Et si ce n est pas un navigateur?... 294 26. Interfaces utilisateurs pour tablettes et grands écrans... 295 Pourquoi s intéresser aux tablettes?... 296 Ce que voit l utilisateur... 296 Gérer les autres terminaux... 299 27. Utilisation de la barre d action... 303 Activation de la barre d action... 303 Éléments de menu dans la barre d action. 304 Répondre au logo... 305 Ajout de vues personnalisées à la barre d action... 306 Définition du layout... 306 Placement du layout dans le menu... 308 Contrôle du clavier... 308 N oubliez pas les téléphones!... 310 28. Fragments... 311 Introduction aux fragments... 311 Le problème résolu par les fragments. 312 La solution des fragments... 312 La bibliothèque de compatibilité (ACL). 313 Création des classes fragments... 314 Fragments généraux... 314 ListFragment... 315 Autres classes Fragment de base... 320 Fragments, layouts, activités et tailles d écrans... 320 EU4YOU... 322 DetailsActivity... 325 Fragments et changements de configuration... 326 Concevoir en utilisant les fragments... 327 29. Gestion des changements de plates-formes... 329 Des choses qui risquent de vous rendre nerveux... 329 Hiérarchie des vues... 330 Changement des ressources... 330

Table des matières IX Gestion des modifications de l API... 330 La jungle des versions... 331 Détecter la version d Android... 332 Envelopper l API... 333 Patrons pour Ice Cream Sandwich et Honeycomb... 334 La barre d action... 335 Isolation du code Ice Cream Sandwich/ Honeycomb... 336 Applications uniquement destinées aux tablettes... 337 Partie IV Dépôts de données, services réseaux et API... 339 30. Accès aux fichiers... 341 Allons-y!... 341 Lire et écrire... 345 Stockage externe : un gain de place énorme... 349 Où écrire... 349 Quand écrire... 350 StrictMode : éviter le code poussif... 350 Mise en œuvre de StrictMode... 351 StrictMode en action... 351 Uniquement pour le développement, merci!... 352 Savoir être strict dans certains cas... 352 Systèmes de fichier Linux : la victoire de sync et vous gagnez... 354 31. Utilisation des préférences... 357 Obtenir ce que vous voulez... 357 Définir vos préférences... 358 PreferenceFragment et PreferenceActivity. 358 Préférences avec les fragments... 359 La nouvelle approche pour les préférences... 360 Ajouter la compatibilité ascendante... 363 L ancien modèle de gestion des préférences... 364 Laisser les utilisateurs choisir... 365 Ajouter un peu de structure... 369 Boîtes de dialogue... 371 32. Accès et gestion des bases de données locales... 375 Présentation rapide de SQLite... 377 Commencer par le début... 377 Mettre la table... 380 Ajouter des données... 381 Le retour de vos requêtes... 382 Requêtes brutes... 382 Requêtes normales... 383 Utilisation des curseurs... 383 CursorAdapter personnalisés... 384 Créer ses propres curseurs... 385 SQLite et versions d Android... 385 Flash semble plus rapide qu il ne l est... 386 Embarquer votre base... 386 Des données, des données, encore des données... 387 33. Tirer le meilleur parti des bibliothèques Java... 389 Ant et JAR... 389 Limites extérieures... 390 Suivre le script... 391 Autres langages de scripts... 394 34. Communiquer via Internet... 397 REST et relaxation... 397 Opérations HTTP via HttpClient... 398 Traitement des réponses... 399 Autres points importants... 401 Tirer parti des composants Android pour Internet... 402 Téléchargement de fichiers... 403 Suite de la lutte contre le code poussif... 412 Partie V Services... 413 35. Théorie des services... 415 Pourquoi les services?... 416 Mise en place d un service... 416 La classe Service... 416 Méthodes du cycle de vie... 416 Entrée du manifeste... 417

X L art du développement Android Communiquer avec les services... 418 Envoi de commandes avec startservice()... 418 Liaison avec bindservice()... 419 Communication à partir des services... 420 Fonctions de rappel/écouteurs... 420 Intentions diffusées... 420 Résultats en attente... 421 Messenger... 421 Notifications... 421 36. Patrons de base pour les services... 423 Downloader... 423 Conception... 424 Implémentation du service... 424 Utilisation du service... 427 Lecteur musical... 428 Conception... 429 Implémentation du service... 429 Utilisation du service... 430 L interface de service web... 432 Conception... 432 Le problème de la rotation... 432 Implémentation du service... 433 Utilisation du service... 438 37. Alerter les utilisateurs avec des notifications... 445 Configuration des notifications... 445 Notifications matérielles... 446 Icônes... 447 Les notifications en action... 448 Rester au premier plan... 451 FakePlayer revisité... 452 Notifications avec Ice Cream Sandwich et Honeycomb... 453 Partie VI Autres fonctionnalités d Android... 457 38. Demander et exiger des permissions... 459 Maman, puis-je?... 460 Halte! Qui va là?... 460 Imposer les permissions via le manifeste. 461 Imposer les permissions ailleurs... 462 Papiers, s il vous plaît!... 462 Nouvelles permissions avec les anciennes applications... 463 Permissions : tout ou rien... 463 39. Accès aux services de localisation... 465 Fournisseurs de localisation : ils savent où vous vous cachez... 466 Où suis-je?... 466 Se déplacer... 467 Est-on déjà arrivé? Est-on déjà arrivé?. 469 Tester... Tester...... 469 40. Cartographie avec MapView et MapActivity... 471 Termes d utilisation... 472 Empilements... 472 La clé de tout... 472 Les composants essentiels... 473 Cartes optionnelles... 475 Testez votre contrôle... 476 Zoom... 476 Centrage... 476 Couches sur couches... 476 Classes Overlay... 477 Affichage d ItemizedOverlay... 477 Gestion de l écran tactile... 479 Moi et MyLocationOverlay... 479 Terrain accidenté... 480 Cartes et fragments... 481 Limitez-vous aux dernières versions d Android... 482 Utilisez oncreateview() et onactivitycreated()... 483 Hébergement du fragment dans une MapActivity... 484 Alternative aux cartes et aux fragments. 485 41. Gestion des appels téléphoniques... 487 Le Manager... 488 Appeler... 488 C est vous qui téléphonez!... 491

Table des matières XI 42. Polices de caractères... 493 Sachez apprécier ce que vous avez... 493 Polices supplémentaires... 495 Le problème des glyphes... 497 43. Outils de développement supplémentaires... 499 Hierarchy Viewer... 499 DDMS (Dalvik Debug Monitor Service). 503 Journaux... 504 Stockage et extraction de fichiers... 505 Copies d écran... 506 Mise à jour de la position... 507 Appels téléphoniques et SMS... 507 Gestion de la mémoire... 510 adb : comme DDMS, mais au clavier... 511 Devenir graphiste... 512 Partie VII Environnements alternatifs... 515 44. Rôle des environnements alternatifs... 517 Au début, il y avait Java...... 518 Et ils virent que cela était bon... 518 Ne pas suivre la mode... 519 Support, structure... 519 Soyez prudent... 519 45. HTML5... 521 Applications déconnectées... 521 Explications... 522 Utilisation... 522 Web Storage... 526 Explications... 527 Utilisation... 527 Base de données SQL web... 529 Mise en production... 529 Tests... 529 Signature et distribution... 530 Mises à jour... 530 Problèmes éventuels... 530 Versions des terminaux... 530 Tailles et densités des écrans... 531 Intégration limitée... 531 Performances et batterie... 531 Look and Feel... 532 Distribution... 532 Modifications du navigateur depuis Ice Cream Sandwich... 532 HTML5 et les navigateurs Android alternatifs... 533 HTML5 : un autre point de référence... 533 46. PhoneGap... 535 Qu est-ce que PhoneGap?... 535 Comment s y prendre?... 536 Fonctionnalités... 536 Aspect des applications... 537 Distribution des applications... 537 Et les autres plates-formes?... 537 Utilisation de PhoneGap... 538 Installation... 538 Création et installation d un projet... 538 PhoneGap Build... 539 PhoneGap et l exemple Checklist... 542 Respect des standards... 542 Ajouter les API de PhoneGap... 545 Problèmes éventuels... 548 Sécurité... 548 Tailles et densités des écrans... 549 Look and Feel... 550 Pour en savoir plus... 550 47. Autres environnements alternatifs... 551 Rhodes... 551 Flash, Flex et AIR... 552 JRuby et Ruboto... 552 Mono pour Android... 553 Titanium Mobile... 553 Autres langages compilés pour la JVM.. 553

XII L art du développement Android Partie VIII L évolution constante d Android... 555 48. Gestion des terminaux... 557 Cette application contient des instructions explicites... 557 Demander des caractéristiques précises. 558 Demander implicitement certaines caractéristiques... 559 Un marché garanti... 560 Autres différences... 560 Bogues, bogues, bogues... 560 Test des terminaux... 561 Index... 563