Livre Android.book Page III Dimanche, 8. novembre 2009 12:23 12 Sommaire À propos de l’auteur .............................. IX 14. Affichage de messages surgissant ... 155 Remerciements ....................................... XI 15. Utilisation des threads ..................... 161 Préface à l’édition française .................. XIII 16. Gestion des événements du cycle Introduction ............................................ 1 de vie d’une activité ........................ 173 Partie I – Concepts de base ................... 3 Partie III – Stockage de données, services réseaux et API .......................... 177 1. Tour d’horizon ................................... 5 17. Utilisation des préférences .............. 179 2. Structure d’un projet ......................... 9 18. Accès aux fichiers ............................ 191 3. Contenu du manifeste ........................ 13 19. Utilisation des ressources ................ 199 Partie II – Les activités .......................... 19 20. Accès et gestion des bases de données locales ........................... 217 4. Création d’un squelette d’application 21 21. Tirer le meilleur parti 5. Utilisation des layouts XML ............. 29 des bibliothèques Java .................... 227 6. Utilisation des widgets de base ......... 35 22. Communiquer via Internet ............. 235 7. Conteneurs ......................................... 45 8. Widgets de sélection ........................... 65 Partie IV - Intentions (Intents) ............. 241 9. S’amuser avec les listes ...................... 83 23. Création de filtres d’intentions ....... 243 10. Utiliser de jolis widgets 24. Lancement d’activités et de beaux conteneurs .................... 107 et de sous-activités ........................... 249 11. Utilisation des menus ....................... 129 25. Trouver les actions possibles grâce 12. Polices de caractères ........................ 141 à l’introspection ............................... 259 13. Intégrer le navigateur de WebKit ... 147 26. Gestion de la rotation ...................... 265 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page IV Dimanche, 8. novembre 2009 12:23 12 IV L’art du développement Android Partie V – Fournisseurs Partie VI – Autres fonctionnalités de contenus et services .......................... 277 d’Android ............................................... 319 27. Utilisation d’un fournisseur 33. Accès aux services de localisation ... 321 de contenu (content provider) ......... 279 34. Cartographie avec MapView 28. Construction d’un fournisseur et MapActivity ................................. 327 de contenu ........................................ 287 35. Gestion des appels téléphoniques ... 337 29. Demander et exiger des permissions 297 36. Recherches avec SearchManager ... 341 30. Création d’un service ...................... 303 37. Outils de développement ................. 351 31. Appel d’un service ........................... 309 38. Pour aller plus loin .......................... 363 32. Alerter les utilisateurs avec des notifications ...................... 313 Index ....................................................... 367 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page V Dimanche, 8. novembre 2009 12:23 12 Table des matières À propos de l’auteur .............................. XI Partie II – Les activités ......................... 19 Remerciements ....................................... XIII 4. Création d’un squelette d’application 21 Préface à l’édition française .................. XV Terminaux virtuels et cibles ............... 21 Introduction ............................................ 1 Commencer par le début ..................... 23 Bienvenue ! ......................................... 1 L’activité ............................................. 24 Prérequis ............................................. 1 Dissection de l’activité ....................... 25 Éditions de ce livre ............................. 2 Compiler et lancer l’activité ............... 27 Termes d’utilisation du code source ... 2 5. Utilisation des layouts XML ............. 29 Partie I – Concepts de base ................... 3 Qu’est-ce qu’un positionnement XML ? 29 1. Tour d’horizon ................................... 5 Pourquoi utiliser des layouts XML ? .. 30 Contenu d’un programme Android ..... 6 Contenu d’un fichier layout ................ 31 Fonctionnalités à votre disposition ..... 8 Identifiants des widgets ...................... 32 2. Structure d’un projet ......................... 9 Utilisation des widgets Contenu de la racine .......................... 9 dans le code Java ................................ 32 À la sueur de votre front ..................... 10 Fin de l’histoire .................................. 33 La suite de l’histoire ........................... 11 6. Utilisation des widgets de base ......... 35 Le fruit de votre travail ....................... 11 Labels ................................................. 35 3. Contenu du manifeste ........................ 13 Boutons ............................................... 36 Au début, il y avait la racine ............... 14 Images ................................................ 37 Permissions, instrumentations Champs de saisie ................................ 38 et applications ..................................... 14 Que fait votre application ? ................. 15 Cases à cocher .................................... 40 Faire le minimum ................................ 16 Boutons radio ..................................... 42 Version = contrôle ............................... 17 Résumé ............................................... 43 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page VI Dimanche, 8. novembre 2009 12:23 12 VI L’art du développement Android 7. Conteneurs ......................................... 45 Chargement immédiat ......................... 150 Penser de façon linéaire ..................... 46 Navigation au long cours .................... 151 Tout est relatif .................................... 52 Amuser le client .................................. 151 Tabula Rasa ........................................ 57 Réglages, préférences et options ........ 153 ScrollView .......................................... 61 14. Affichage de messages surgissant ... 155 8. Widgets de sélection .......................... 65 Les toasts ............................................ 156 S’adapter aux circonstances ............... 66 Les alertes ........................................... 156 Listes des bons et des méchants ......... 67 Mise en œuvre .................................... 157 Contrôle du Spinner ......................... 71 15. Utilisation des threads ..................... 161 Mettez vos lions en cage .................... 73 Les handlers ........................................ 162 Champs : économisez 35 % de la frappe ! 77 Exécution sur place ............................. 165 Galeries .............................................. 81 Où est passé le thread de mon interface 9. S’amuser avec les listes ..................... 83 utilisateur ? ......................................... 165 Premières étapes ................................. 83 Désynchronisation .............................. 166 Présentation dynamique ..................... 85 Éviter les pièges .................................. 172 Mieux, plus robuste et plus rapide ..... 88 16. Gestion des événements du cycle Créer une liste... ................................. 94 de vie d’une activité .......................... 173 … Et la vérifier deux fois ................... 99 L’activité de Schroedinger .................. 174 Adapter d’autres adaptateurs .............. 105 Vie et mort d’une activité ................... 174 10. Utiliser de jolis widgets et de beaux conteneurs .................... 107 Partie III – Stockage de données, Choisir ................................................ 107 services réseaux et API .......................... 177 Le temps s’écoule comme un fleuve .. 111 17. Utilisation des préférences ................ 179 Mesurer la progression ....................... 112 Obtenir ce que vous voulez ................. 179 Utilisation d’onglets ........................... 113 Tout faire basculer .............................. 120 Définir vos préférences ....................... 180 Fouiller dans les tiroirs ....................... 125 Un mot sur le framework .................... 180 Autres conteneurs intéressants ........... 128 Laisser les utilisateurs choisir ............. 181 Ajouter un peu de structure ................ 185 11. Utilisation des menus ...................... 129 Boîtes de dialogue .............................. 187 Variantes de menus ............................ 130 Les menus d’options .......................... 130 18. Accès aux fichiers ............................. 191 Menus contextuels ............................. 131 Allons-y ! ............................................ 191 Illustration rapide ............................... 132 Lire et écrire ....................................... 195 Encore de l’inflation ........................... 137 19. Utilisation des ressources ................ 199 12. Polices de caractères ....................... 141 Les différents types de ressources ...... 199 Sachez apprécier ce que vous avez .... 141 Théorie des chaînes ............................ 200 Le problème des glyphes ................... 144 Vous voulez gagner une image ? ........ 205 13. Intégrer le navigateur Les ressources XML ........................... 207 de WebKit ......................................... 147 Valeurs diverses .................................. 210 Un navigateur, et en vitesse ! ............. 147 Gérer la différence .............................. 212 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page VII Dimanche, 8. novembre 2009 12:23 12 Table des matières VII 20. Accès et gestion des bases Rotation maison .................................. 272 de données locales ............................. 217 Forcer le destin ................................... 274 Présentation rapide de SQLite ............ 218 Tout comprendre ................................. 276 Commencer par le début ..................... 219 Mettre la table ..................................... 219 Partie V – Fournisseurs de contenus Ajouter des données ............................ 220 et services ................................................ 277 Le retour de vos requêtes .................... 221 27. Utilisation d’un fournisseur de contenu Des données, des données, (content provider) .............................. 279 encore des données ............................. 224 Composantes d’une Uri .................... 280 21. Tirer le meilleur parti Obtention d’un descripteur ................. 280 des bibliothèques Java ...................... 227 Création des requêtes ......................... 281 Limites extérieures .............................. 228 S’adapter aux circonstances ............... 282 Ant et JAR .......................................... 228 Gestion manuelle des curseurs ........... 283 Suivre le script .................................... 229 Insertions et suppressions ................... 284 Tout fonctionne... enfin, presque ........ 233 Attention aux BLOB ! ........................ 285 Relecture des scripts ........................... 233 28. Construction d’un fournisseur de contenu ..................... 287 22. Communiquer via Internet ............. 235 D’abord, une petite dissection ............ 288 REST et relaxation .............................. 236 Puis un peu de saisie ........................... 288 Étape n° 1 : créer une classe Provider 289 Partie IV – Intentions (Intents) ............ 241 Étape n° 2 : fournir une Uri .............. 294 23. Création de filtres d’intentions ....... 243 Étape n° 3 : déclarer les propriétés ..... 295 Quelle est votre intention ? ................. 244 Étape n° 4 : modifier le manifeste ...... 295 Déclarer vos intentions ....................... 245 Avertissements en cas de modifications 296 Récepteurs d’intention ........................ 247 29. Demander et exiger des permissions 297 Attention à la pause ............................ 247 Mère, puis-je ? .................................... 298 24. Lancement d’activités Halte ! Qui va là ? ............................... 299 et de sous-activités ............................. 249 Vos papiers, s’il vous plaît ! ............... 301 Activités paires et sous-activités ......... 250 30. Création d’un service ...................... 303 Démarrage .......................................... 250 Service avec classe ............................. 304 Navigation avec onglets ...................... 255 Il ne peut en rester qu’un ! ................. 305 25. Trouver les actions possibles grâce Destinée du manifeste ........................ 306 à l’introspection ................................ 259 Sauter la clôture .................................. 306 Faites votre choix ................................ 260 31. Appel d’un service ........................... 309 Préférez-vous le menu ? ...................... 263 Transmission manuelle ....................... 310 Demander à l’entourage ...................... 264 Capture de l’intention ......................... 311 26. Gestion de la rotation ...................... 265 32. Alerter les utilisateurs Philosophie de la destruction .............. 265 avec des notifications ........................ 313 Tout est pareil, juste différent ............. 266 Types d’avertissements ....................... 313 Il n’y a pas de petites économies ! ...... 270 Les avertissements en action .............. 315 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page VIII Dimanche, 8. novembre 2009 12:23 12 VIII L’art du développement Android Partie VI – Autres fonctionnalités Moi et MyLocationOverlay .............. 334 d’Android ............................................... 319 La clé de tout ...................................... 335 33. Accès aux services 35. Gestion des appels téléphoniques ... 337 de localisation ................................... 321 Le Manager ......................................... 338 Fournisseurs de localisation : Appeler ............................................... 338 ils savent où vous vous cachez ........... 322 36. Recherches avec SearchManager ... 341 Se trouver soi-même .......................... 322 La chasse est ouverte .......................... 342 Se déplacer ......................................... 324 Recherches personnelles ..................... 343 Est-on déjà arrivé ? Est-on déjà arrivé ? Effectuer une recherche ...................... 349 Est-on déjà arrivé ? ............................ 325 37. Outils de développement ................. 351 Tester... Tester... .................................. 326 Gestion hiérarchique ........................... 351 34. Cartographie avec MapView DDMS (Dalvik Debug Monitor Service) 356 et MapActivity ................................. 327 Gestion des cartes amovibles .............. 362 Termes d’utilisation ........................... 328 38. Pour aller plus loin .......................... 363 Empilements ...................................... 328 Questions avec, parfois, des réponses . 363 Les composants essentiels ................. 328 Aller à la source .................................. 364 Testez votre contrôle .......................... 330 Lire les journaux ................................. 365 Terrain accidenté ................................ 331 Couches sur couches .......................... 332 Index ....................................................... 367 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page XI Dimanche, 8. novembre 2009 12:23 12 À propos de l’auteur Mark Murphy est le fondateur de CommonsWare et l’auteur de The Busy Coder’s Guide to Android Development. Son expérience professionnelle va du conseil pour les dévelop- pements open-source et collaboratifs de très grosses sociétés au développement d’appli- cations sur à peu près tout ce qui est plus petit qu’un mainframe. Il programme depuis plus de vingt-cinq ans et a travaillé sur des plates-formes allant du TRS-80 aux derniers modèles de terminaux mobiles. En tant qu’orateur averti, Mark intervient également sur un grand nombre de sujets dans de nombreuses conférences et sessions de formation internationales. Par ailleurs, Mark est le rédacteur des rubriques "Building Droids" d’AndroidGuys et "Android Angle" de NetworkWorld. En dehors de CommonsWare, Mark s’intéresse beaucoup au rôle que joue Internet dans l’implication des citoyens dans la politique. À ce titre, il publie des articles dans la collection Rebooting America et son blog personnel contient de nombreux articles sur la "démocratie coopérative". customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page XII Dimanche, 8. novembre 2009 12:23 12 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page XIII Dimanche, 8. novembre 2009 12:23 12 Remerciements Je voudrais remercier l’équipe d’Android ; non seulement pour avoir créé un bon produit, mais également pour l’aide inestimable qu’elle fournit dans les groupes Google consacrés à ce système. Merci notamment à Romain Guy, Justin Mattson, Dianne Hackborn, Jean-Baptiste Queru, Jeff Sharkey et Xavier Ducrohet. Les icônes utilisées dans les exemples de ce livre proviennent du jeu d’icônes Nuvola1. 1. http://www.icon-king.com/?p=15. customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]> Livre Android.book Page XIV Dimanche, 8. novembre 2009 12:23 12 customer 27921 at Fri Mar 11 19:19:45 +0100 2011 Propriété de Albiri Sigue <[email protected]>
Description: