Programmation Android : De la conception au déploiement avec le SDK Google Android 2

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Damien Guignard, Julien Chable, Emmanuel Roblès, Nicolas Sorel, Vanessa Conchodon
Publisher: Eyrolles
Year: 2010

Language: French
Pages: 504

Couverture......Page 1
Avant-propos......Page 3
Versions d’Android liées à ce livre......Page 4
À propos des auteurs......Page 5
Les sources de ce livre......Page 6
Table des matières......Page 7
Chapitre 3......Page 8
Chapitre 5......Page 9
Chapitre 6......Page 10
Chapitre 8......Page 11
Chapitre 9......Page 12
Chapitre 11......Page 13
Chapitre 12......Page 14
Chapitre 13......Page 15
Chapitre 15......Page 16
Annexe A......Page 17
1 -
La plate-forme Android......Page 19
Les versions de la plate-forme......Page 20
Une architecture autour du noyau Linux......Page 22
Le marché......Page 23
Android et ses concurrents......Page 24
Le kit de développement Android en détails......Page 25
Les exemples......Page 26
Configurer votre environnement de développement......Page 27
Installer et configurer l’environnement d’exécution Java......Page 28
Installer le kit de développement Android......Page 32
Installer et configurer Eclipse......Page 36
Installer le module ADT pour Eclipse......Page 37
Configurer un appareil virtuel Android......Page 40
Créer votre premier projet Android......Page 43
Compiler une application Android......Page 46
Exécuter une application Android......Page 47
Déboguer une application Android......Page 48
En résumé......Page 53
2 -
Création d’applications et découverte des activités......Page 55
Composants applicatifs : activité, service, fournisseur de contenu et gadgets......Page 57
Éléments d’interaction : intents, récepteurs, notifications......Page 58
Cycle de vie d’une application : gestion des processus......Page 59
Qu’est-ce qu’une activité Android ?......Page 62
Cycle de vie d’une activité......Page 63
Les ressources......Page 66
Ressources appelées dans votre code......Page 68
Utilisation de ressources système......Page 70
Valeurs simples......Page 71
Images......Page 73
Autres ressources......Page 75
Structure du fichier de configuration......Page 76
Manipulation avec l’éditeur du module ADT pour Eclipse......Page 78
Personnaliser notre première application Android......Page 79
En résumé......Page 83
Le concept d’interface......Page 85
Positionner les vues avec les gabarits......Page 87
Définir votre interface en XML......Page 90
Associer votre interface à une activité et définir la logique utilisateur......Page 91
Créer une interface sans définition XML......Page 93
Gérer les événements......Page 96
Intégrer une image dans votre interface......Page 99
Intégrer une boîte de saisie de texte......Page 100
Intégrer d’autres composants graphiques......Page 102
Découper ses interfaces avec include......Page 108
Ajouter des onglets......Page 112
En résumé......Page 117
4 -
Communication entre applications : la classe Intent......Page 119
Principe de fonctionnement......Page 120
Naviguer entre écrans au sein d’une application......Page 121
Démarrer une activité......Page 122
Démarrer une activité et obtenir un retour......Page 123
Renvoyer une valeur de retour......Page 124
Récupérer la valeur de retour......Page 125
Solliciter d’autres applications......Page 126
Déléguer au système le choix de l’application......Page 127
Les actions natives......Page 128
Filtrer les actions......Page 130
Exploiter l’objet Intent de l’activité......Page 132
Embarquer des données supplémentaires......Page 133
Intent en mode déclaratif......Page 135
Diffuser des Intents à but informatif......Page 136
Recevoir et traiter des Intents diffusés......Page 137
Créer un récepteur d’Intents dynamiquement......Page 138
En résumé......Page 139
5 -
Création d’interfaces utilisateur avancées......Page 141
Les widgets, ou vues standards......Page 142
Créer un contrôle personnalisé......Page 143
Déclarer un contrôle personnalisé dans les définitions d’interface XML......Page 146
Les adaptateurs pour accéder aux données de l’interface......Page 149
Utiliser le bon adaptateur......Page 150
Utiliser une base de données avec le CursorAdapter......Page 151
Personnaliser un adaptateur......Page 154
Optimiser l’adaptateur en utilisant le cache......Page 158
Création d’un menu......Page 159
Mettre à jour dynamiquement un menu......Page 161
Créer des sous-menus......Page 163
Créer un menu contextuel......Page 165
Internationalisation des applications......Page 170
Étape 0 : créer une application à manipuler......Page 171
Internationaliser des chaînes de caractères......Page 172
Internationaliser les images......Page 174
Animation des vues......Page 175
Animer par le code......Page 176
Animer par le XML......Page 177
Créer une série d’animations......Page 179
Animer un groupe de vues......Page 180
Gérer l’accélération des animations avec les interpolateurs......Page 181
Recourir aux événements pour l’animation......Page 183
Les animations image par image......Page 184
Les AppWidgets......Page 185
Création d’un gadget......Page 186
Conception du fournisseur......Page 187
Définir l’interface du gadget......Page 188
Définir les paramètres du gadget......Page 190
Associer le gadget à une activité......Page 191
Paramétrer le fichier de configuration de l’application......Page 193
En résumé......Page 195
6 -
Persistance des données......Page 197
Persistance de l’état des applications......Page 198
Configurer le mode de conservation des activités......Page 201
Récupérer les préférences partagées......Page 202
Enregistrer ou mettre à jour des préférences partagées......Page 203
Les permissions des préférences......Page 204
Réagir aux modifications des préférences avec les événements......Page 205
Les menus de préférences prêts-à-l’emploi......Page 206
Créer un menu de préférences......Page 207
Préférences de type liste......Page 209
Paramètre de type case à cocher......Page 210
Autres types de préférences : zone de texte, sélection de sonnerie.........Page 211
Les catégories de préférences......Page 213
Les écrans de préférences imbriqués......Page 214
Stockage dans des fichiers......Page 215
Lire, écrire et supprimer dans le système de fichiers......Page 216
Intégrer des ressources dans vos applications......Page 217
Gérer les fichiers......Page 218
Concevoir une base de données SQLite pour une application Android......Page 219
Créer et mettre à jour la base de données SQLite......Page 220
Accéder à une base de données......Page 222
Effectuer une requête dans une base SQLite......Page 226
Mettre à jour des données......Page 231
Supprimer des données......Page 232
En résumé......Page 233
7 -
Partager des données......Page 235
Accéder à un fournisseur de contenu......Page 236
Effectuer une requête......Page 237
Les fournisseurs de contenu natifs......Page 239
Ajouter, supprimer ou mettre à jour des données via le fournisseur de contenu......Page 240
Créer un fournisseur de contenu......Page 242
Utiliser un gabarit pour exposer vos fournisseurs de contenu......Page 248
Les dossiers dynamiques (Live Folders)......Page 249
En résumé......Page 254
Plates-formes et formats pris en charge......Page 255
Rappel sur quelques formats vidéo......Page 257
Les formats d’images......Page 258
Lecture d’un fichier embarqué par l’application......Page 259
Lecture à partir d’un fichier ou d’une URL......Page 260
Réalisation d’un lecteur MP3......Page 261
Généralités sur l’enregistrement audio......Page 263
SDK inférieur à la version 1.5......Page 265
Vérifier visuellement et par la programmation la présence de la carte SD......Page 266
Construction de l’enregistreur......Page 267
La classe Camera......Page 269
Utiliser la prévisualisation......Page 270
Capture d’une image......Page 273
Réalisation d’un lecteur vidéo......Page 277
Enregistrement vidéo......Page 279
Indexation des médias et mise à disposition des applications......Page 283
Ajout des médias à la bibliothèque......Page 284
Renseigner les informations des médias indexés......Page 286
Détection des visages sur des images......Page 289
En résumé......Page 292
9 -
Statut réseau, connexions et services web......Page 293
Disponibilité du réseau......Page 294
Requêtes HTTP de type GET......Page 295
Requêtes HTTP de type POST......Page 297
Utilisation de la classe HttpClient......Page 298
Requête de type GET......Page 299
Requête de type POST......Page 300
Requête de type POST multipart......Page 301
Problématique du multitâches......Page 303
Les services web......Page 304
Services basés sur le protocole SOAP......Page 305
SOAP et Android......Page 308
Mise en place d’un service SOAP avec Tomcat et Axis......Page 309
Création du client Android......Page 310
Les services REST......Page 313
Le client Android JSON associé......Page 314
Le client Android XML associé......Page 317
Le serveur......Page 319
Le client Android......Page 323
En résumé......Page 324
OpenGL avec Android......Page 325
L’objet de rendu GLSurfaceView.Renderer......Page 327
Intégrer la surface de rendu OpenGL ES dans une activité......Page 328
Les formes 3D avec OpenGL ES......Page 329
Les tableaux de sommets, de faces et de couleurs......Page 330
Les textures......Page 335
Charger une texture......Page 337
Utiliser et appliquer une texture......Page 338
Spécifier les coordonnées de texture......Page 339
Gérer les entrées utilisateur......Page 343
Personnaliser la configuration de la surface de rendu......Page 345
Effectuer un rendu à la demande......Page 346
Déboguer une application OpenGL ES......Page 347
En résumé......Page 348
11 -
Les services et la gestion des threads......Page 349
Créer un service......Page 350
Démarrer et arrêter un service......Page 352
Contrôler un service depuis une activité......Page 353
Le langage AIDL pour appeler une méthode distante d’un autre processus......Page 357
Création de la définition AIDL......Page 358
Implémenter l’interface......Page 359
Créer des classes personnalisées compatibles avec AIDL : l’interface Parcelable......Page 361
Appeler une méthode IPC d’AIDL......Page 363
Notifier l’utilisateur par le mécanisme des « toasts »......Page 364
Positionner un toast......Page 365
Notifier l’utilisateur : les notifications......Page 366
Le gestionnaire de notifications......Page 367
Créer une notification......Page 368
Modifier et gérer les notifications......Page 369
Faire vibrer le téléphone......Page 370
Créer une alarme......Page 371
Exécution et communication entre threads avec la classe Handler......Page 373
Utiliser les messages......Page 374
Savoir gérer les threads......Page 377
En résumé......Page 378
Utilisation du kit de développement pour la simulation......Page 379
Affichage de l’interface graphique......Page 380
Simulation de l’envoi d’un SMS......Page 381
Simulation d’un appel......Page 382
Gestion de l’état de la fonction téléphone......Page 383
Informations sur l’appareil et le réseau......Page 385
Être notifié des changements d’états......Page 386
Préremplir le numéro à composer......Page 388
Gérer les SMS......Page 389
Envoi de SMS......Page 390
Réception de SMS......Page 391
Parcourir les répertoires SMS du téléphone......Page 393
En résumé......Page 396
13 -
Géolocalisation, Google Maps et GPS......Page 397
Obtenir la liste des fournisseurs de position......Page 398
Choix d’un fournisseur de position en fonction de critères......Page 399
Le format GPX......Page 400
Le format KML de Google Earth......Page 402
Envoi des coordonnées à l’aide d’une interface graphique......Page 405
Envoi des positions en ligne de commande......Page 406
Obtenir sa position......Page 407
Détecter le changement de position......Page 409
Alertes de proximité......Page 411
Présentation......Page 412
Configuration d’Eclipse......Page 413
Obtention d’une clé pour utiliser Google Maps......Page 415
Géocodage......Page 416
Géodécodage......Page 417
Création d’activités utilisant Google Maps......Page 418
Étendre la classe MapActivity......Page 419
Manipuler la classe MapView......Page 420
Déplacer la carte......Page 422
Niveaux de zoom......Page 423
Créer et utiliser des calques......Page 424
Ajouter et retirer des calques de la vue......Page 425
Dessiner sur un calque......Page 426
Exemple de calque......Page 427
Utiliser les classes ItemizedOverlay et OverlayItem......Page 429
En résumé......Page 435
14 -
Ressources matérielles : Wi-Fi, Bluetooth, capteurs et accéléromètre......Page 437
Gérer le réseau Wi-Fi......Page 438
Activer et désactiver le Wi-Fi......Page 439
Gérer les points d’accès......Page 442
Gérer le Bluetooth......Page 443
Les permissions......Page 444
Préparer votre application......Page 445
Activer la découverte par Bluetooth......Page 446
Rechercher les appareils environnant......Page 447
Créer un serveur......Page 448
Créer un client......Page 450
Échanger des données......Page 451
Identification des capteurs......Page 452
Utilisation des capteurs......Page 453
Réception des données......Page 455
En résumé......Page 460
L’Android Market......Page 463
S’inscrire en tant que développeur sur le marché Android......Page 464
Préparer son application pour la publication......Page 467
Ajouter des informations de version à une application......Page 468
Compiler et signer une application avec ADT......Page 469
Présentation de la console de publication des applications......Page 473
Publier son application depuis la console du marché Android......Page 474
Mettre à jour une application sur le marché Android......Page 477
En résumé......Page 478
Utiliser les téléphones de développement......Page 481
Première utilisation du téléphone de développement......Page 483
Connecter le téléphone à votre ordinateur......Page 484
Utilisation de votre téléphone avec Eclipse......Page 488
Réglages cachés du navigateur......Page 489
Utiliser le concepteur graphique dans Eclipse pour réaliser des interfaces graphiques......Page 490
Naviguer dans le concepteur d’interfaces......Page 491
Créer une interface grâce au concepteur......Page 493
A......Page 499
C......Page 500
M......Page 501
R......Page 502
V......Page 503
W......Page 504