Développement d applications professionnelles avec Android 2



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

Magento. Pratique du e-commerce avec Magento. Christophe Le Bot avec la contribution technique de Bruno Sebarte

Créer un site e-commerce avec Dreamweaver CS4 et PHP/MySQL

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

Les fondamentaux du développement d applications Java

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

Android. Présentation d Android. Florent Garin

Chapitre 1 Retour en arrière

L impression numérique

Benjamin Morin SANSTABOO. L iphone OS 4. maîtrisé. pour l utilisateur avancé. Groupe Eyrolles, 2010, ISBN :

TD/TP 1 Introduction au SDK d Android

Installation et prise en main

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

Déploiement de l iphone et de l ipad Gestion des appareils mobiles (MDM)

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

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

Introduction ANDROID

Formation Utiliser son iphone ou son ipad

GLOBAL ACCESSIBILITY REPORTING INITIATIVE (GARI) MOBILE HANDSET/DEVICE ACCESSIBILITY REPORT

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

Département Informatique et Données Marines Service Ingénierie des Systèmes d'informations Référence IFREMER-DCB-IDM-ISI/DDC

Déploiement d iphone et d ipad Gestion des appareils mobiles (MDM)

Chapitre 1 L interface de Windows 7 9

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

Mise en route de PRTG Network Monitor Paessler AG

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Programmation Mobile Android Master CCI

Lenovo TAB A7-40/ Lenovo TAB A7-50

Installer le patch P-2746 et configurer le Firewall avancé

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

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

Android. Trucs et astuces

INQ Cloud Touch. guide d utilisation

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

LES TABLETTES : GÉNÉRALITÉS

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Mise en route de PRTG Network Monitor 8

Wobe.

Lutter contre les virus et les attaques... 15

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

Twixl Portfolio DE INDESIGN VERS LES TABLETTES. Luk Dhondt - Product Manager

ODOTRACK pour Android 2.0 GUIDE D UTILISATION

n.paradoxa online, issue 3 May 1997

Création d une application Android (APPInventor)

CAMERA IP HEDEN CLOUD MANUEL D UTILISATION

WIFI ÉVOLUTIVITÉ - SÉCURITÉ - MOBILITÉ

cprotect PROTÉGEZ L IRREMPLAÇABLE! POUR SMARTPHONES ET TABLETTES ANDROID MANUEL D UTILISATION

Développement sous Android

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

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

Offre INES CRM + BI MyReport. Logiciels pour une meilleure performance commerciale

Perspectives en matière de portails géographiques et de 3D

pas à pas prise en main du service sur le web 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

Manuel de l'utilisateur

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

SOMMAIRE

«Ton assureur dans ta poche»

Foire aux questions sur Christie Brio

Jean-Philippe Paquette

Guide d utilisation. Version 1.1

Présentation des autres éléments du résultat global

Bluetooth pour Windows

Environnement Zebra Link-OS version 2.0

Une Gamme complète dans un nouvel Environnement. Septembre 2014

Fiche produit Site Monitor v4

Tablette tactile X7G. avec Android 2.3, écran capacitif (17,8 cm) & HDMI

Smartphone Android by SFR STARADDICT II

1 Avant-Propos 5 Remerciements. 9 Usages, contraintes et opportunités du mobile. 33 Site ou application : quelle solution choisir? Table des matières

DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»

SEPA Direct Debit La domiciliation dans un marché unifié pour les paiements européens au 1er février 2014

Votre Maison Contr. An Apps Driven IoT Hub (Gateway) Model : STACK Box Cloud Media. All rights reserved.

Guide de prise en main

Votre premier projet Android

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

2013 Tous droits réservés. Acer Liquid Z3 Duo Manuel de l utilisateur Modèle : Z130 Cette révision : 08/2013

HYPERDRIVE iusbport Guide d utilisation

COPYRIGHT Danish Standards. NOT FOR COMMERCIAL USE OR REPRODUCTION. DS/EN 61303:1997

En fonction de votre zone géographique ou votre opérateur, certains contenus peuvent différer par rapport à votre appareil. À propos de Samsung Kies

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

Acer Iconia Numéro de modèle :... Numéro de série*:... Date d achat :... Lieu d achat :...

Manuel d utilisation

TP2 : Client d une BDD SqlServer

BIRT (Business Intelligence and Reporting Tools)

Guide de démarrage rapide du TruVision NVR 10

Projet Android (LI260) Cours 2

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

DÉVELOPPEMENT ANDROID

Fiche produit. Important: Disponible en mode SaaS et en mode dédié

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Android 2.3 Gingerbread

GUIDE de prise en main. let s play

Manuel d utilisation 1

Offre CRM Analytique Logiciels pour une meilleure performance commerciale, 2011

Manuel de l utilisateur

Catalogue des formations Edition 2015

GUIDE RAPIDE NOKIA PC SUITE pour Nokia Copyright Nokia Mobile Phones Tous droits réservés Issue 4

Transcription:

Développement d applications professionnelles avec Android 2 Reto Meier Traduit par Dalil Djidel, avec la contribution technique d Arnaud Farine

Pearson Education France a apporté le plus grand soin à la réalisation de ce livre afin de vous fournir une information complète et fiable. Cependant, Pearson Education France n assume de responsabilités, ni pour son utilisation, ni pour les contrefaçons de brevets ou atteintes aux droits de tierces personnes qui pourraient résulter de cette utilisation. Les exemples ou les programmes présents dans cet ouvrage sont fournis pour illustrer les descriptions théoriques. Ils ne sont en aucun cas destinés à une utilisation commerciale ou professionnelle. Pearson Education France ne pourra en aucun cas être tenu pour responsable des préjudices ou dommages de quelque nature que ce soit pouvant résulter de l utilisation de ces exemples ou programmes. Tous les noms de produits ou marques cités dans ce livre sont des marques déposées par leurs propriétaires respectifs. Publié par Pearson Education France 47 bis, rue des Vinaigriers 75010 PARIS Tél. : 01 72 74 90 00 www.pearson.fr Mise en pages : TyPAO ISBN : 978-2-7440-2452-8 Copyright 2010 Pearson Education France Tous droits réservés Titre original : Android 2 Applications Development Traduction : Dalil Djidel, avec la contribution d Arnaud Farine ISBN original : 978-0-470-56552-0 Copyright 2010 by Wiley Publishing, Inc., Indianapolis, Indiana Tous droits réservés Published by Wrox, an imprint of Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Aucune représentation ou reproduction, même partielle, autre que celles prévues à l article L. 122-5 2 et 3 a) du code de la propriété intellectuelle ne peut être faite sans l autorisation expresse de Pearson Education France ou, le cas échéant, sans le respect des modalités prévues à l article L. 122-10 dudit code. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.

Table des matières À propos de l auteur... XV Préface à l édition française... XVII Introduction... 1 1 Hello, Android... 7 Retour aux origines... 8 Un passé pas si ancien... 8 Le futur... 9 Ce que n est pas Android... 10 Android : une plateforme ouverte pour le développement sur mobiles... 11 Les applications Android natives... 12 Les caractéristiques du SDK Android... 13 Accès au matériel, y compris appareil photo, GPS et accéléromètre... 14 Services natifs Google Maps de géocodage et géolocalisation... 14 Services d arrière-plan... 15 Base de données SQLite pour le stockage et l extraction de données... 15 Données partagées et communication interapplications... 16 Utilisation des widgets, des Live Folders et du Live Wallpaper pour améliorer l écran d accueil... 16 Support multimédia étendu et graphiques 2D/3D... 16 Mémoire optimisée et gestion des processus... 17 Introduction à l Open Handset Alliance... 17 Sur quels matériels Android fonctionne-t-il?... 18 Pourquoi développer pour des mobiles?... 18 Pourquoi développer pour Android?... 19 Par quoi l adoption d Android a-t-elle été et continuera-t-elle d être tirée?... 19

IV Développement d applications professionnelles avec Android 2 Qu a-t-il que les autres n ont pas?... 20 Changer le paysage du développement pour mobiles... 21 Introduction au framework de développement... 21 Ce qui est inclus... 22 Comprendre la pile logicielle Android... 23 La machine virtuelle Dalvik... 24 L architecture d une application Android... 25 Les bibliothèques Android... 26 Résumé... 26 2 Bien démarrer... 29 Développer sur Android... 30 Ce dont vous avez besoin pour commencer... 31 Créer votre première application Android... 37 Les types d applications Android... 44 Développer pour appareils mobiles... 45 Considérations de conception imposées par le matériel... 46 Prendre en compte l environnement de l utilisateur... 50 Développer pour Android... 52 Exemple de liste de tâches... 56 Les outils de développement Android... 62 Android Virtual Device et SDK Manager... 63 Android Emulator... 65 DDMS (Dalvik Debug Monitor Service)... 66 ADB (Android Debug Bridge)... 66 Résumé... 66 3 Créer des applications et des Activities... 69 Les composants d une application Android... 70 Introduction au manifeste d une application... 71 L éditeur de manifeste... 78 Cycle de vie d une application Android... 79 Priorités des applications et états des processus... 80

Table des matières V Externaliser des ressources... 82 Créer des ressources... 82 Utiliser les ressources... 90 Exemple de ressources pour la liste de tâches... 94 Créer des ressources pour différents matériels et langues... 95 Changements de configuration à l exécution... 97 Introduction à la classe Application d Android... 99 Étendre et utiliser la classe Application... 99 Redéfinition des événements du cycle de vie d une application... 100 Les Activities Android vues de près... 101 Créer une Activity... 101 Cycle de vie d une Activity... 103 Classes Activity Android... 109 Résumé... 110 4 Créer des interfaces utilisateur... 111 Les fondements de la conception d interface sous Android... 112 Introduction aux Views... 113 Créer l interface d une Activity avec des Views... 113 Boîte à outils de Widgets Android... 114 Introduction aux layouts... 116 Utiliser les layouts... 116 Optimiser les layouts... 118 Créer de nouvelles Views... 119 Modifier des Views existantes... 119 Créer des contrôles composites... 124 Créer des Views personnalisées... 127 Utiliser des contrôles personnalisés... 139 Ressources Drawable... 140 Shapes, Colors et Gradients... 141 Résolution et indépendance vis-à-vis de la densité... 149 Le framework de ressources et l indépendance vis-à-vis de la résolution... 149

VI Développement d applications professionnelles avec Android 2 Bonnes pratiques pour une indépendance vis-à-vis de la résolution... 151 Tester, encore tester et toujours tester... 153 Créer et utiliser des menus... 155 Introduction au système de menus Android... 155 Définir un menu d Activity... 157 Options d entrées de menu... 159 Mettre à jour dynamiquement les entrées de menu... 160 Gérer les sélections dans les menus... 161 Sous-menus et menus contextuels... 161 Définir des menus en XML... 164 Suite de l exemple de liste de tâches... 165 Résumé... 171 5 Intents, Broadcast Receivers, Adapters et Internet... 173 Introduction aux Intents... 174 Utiliser les Intents pour lancer des Activities... 175 Utiliser les Intents Filters pour répondre à des Intents implicites... 182 Utiliser les Intent Filters pour les plugins et l évolutivité... 192 Introduction à Linkify... 194 Utiliser les Intents pour diffuser des événements... 197 Introduction aux Pending Intents... 202 Introduction aux Adapters... 203 Introduction à quelques Adapters natifs... 203 Personnaliser l Array Adapter... 204 Utiliser les Adapters pour les liaisons de données... 205 Utiliser des ressources sur Internet... 210 Se connecter à une ressource Internet... 211 Utiliser des ressources Internet... 211 Introduction aux Dialogs... 212 Introduction aux classes Dialog... 213 Utiliser des Activities comme Dialogs... 216 Gérer et afficher des Dialogs... 216

Table des matières VII Créer une application affichant une liste de tremblements de terre... 217 Résumé... 227 6 Fichiers, sauvegarde d état et préférences... 229 Sauvegarder les données de base d une application... 230 Créer et sauvegarder des préférences... 231 Retrouver des Shared Preferences... 231 Créer une Activity pour les paramètres de l application tremblements de terre... 232 Introduction au framework de préférences... 241 Définir un layout d écran de préférences en XML... 242 Introduction à Preference Activity... 245 Retrouver et utiliser un écran de préférences... 246 Créer une Preference Activity standard pour l application tremblements de terre... 247 Sauvegarder l état d une Activity... 249 Sauvegarder et restaurer un état d instance... 249 Sauvegarder l état de l Activity liste de tâches... 250 Sauvegarder et charger des fichiers... 253 Outils de gestion de fichiers... 254 Résumé... 254 7 Bases de données et Content Providers... 255 Introduction aux bases de données Android... 256 Introduction aux bases de données SQLite... 256 Introduction aux Content Providers... 256 Introduction à SQLite... 257 Cursors et Content Values... 257 Utiliser des bases de données SQLite... 258 Introduction à SQLiteOpenHelper... 261 Ouvrir et créer des bases de données sans SQLiteHelper... 262 Considérations de conception d une base de données Android... 262 Interroger une base de données... 263 Extraire les résultats d un Cursor... 264 Ajouter, mettre à jour et supprimer des lignes... 264 Sauvegarder votre liste de tâches... 266

VIII Développement d applications professionnelles avec Android 2 Créer un nouveau Content Provider... 272 Exposer un accès à la source de données... 274 Enregistrer votre provider... 275 Utiliser les Content Providers... 276 Introduction aux Content Resolvers... 276 Effectuer des requêtes... 276 Ajouter, mettre à jour et supprimer dans un Content... 277 Accéder à des fichiers dans des Content Providers... 279 Créer et utiliser un Content Provider pour l application tremblements de terre... 279 Créer le Content Provider... 279 Utiliser le provider... 285 Content Providers Android natifs... 288 Utiliser le Media Store Provider... 288 Utiliser le Contact Provider... 290 Résumé... 294 8 Cartes, géocodage et services de géolocalisation... 297 Utiliser les services de géolocalisation... 298 Configurer l émulateur pour tester les services de géolocalisation... 298 Mettre à jour les positions dans l émulateur... 299 Sélectionner un Location Provider... 300 Trouver les providers disponibles... 300 Trouver des Location Providers à l aide de critères... 301 Déterminer votre position... 302 Exemple "Où suis-je?"... 303 Suivre des déplacements... 305 Mettre à jour votre position dans "Où suis-je?"... 307 Utiliser les alertes de proximité... 309 Utiliser le Geocoder... 310 Géocodage inverse... 311 Géocodage avant... 312 Géocoder "Où suis-je?"... 313 Créer des Activities géographiques... 315

Table des matières IX Introduction à Map View et Map Activity... 316 Obtenir votre clé d API... 316 Créer une Activity géographique... 317 Configurer et utiliser les Map Views... 320 Utiliser le Map Controller... 320 Cartographier "Où suis-je?"... 321 Créer et utiliser les Overlays... 325 Introduction à l Overlay MyLocation... 333 Introduction aux Itemized Overlays et aux Overlay Items... 334 Épingler des Views à une carte et à des positions... 336 Cartographier l application Tremblements de terre... 338 Résumé... 344 9 Traitements en arrière-plan... 345 Introduction aux Services... 346 Créer et contrôler des Services... 347 Lier des Activities à des Services... 359 Affecter des priorités aux Services d arrière-plan... 361 Utiliser les threads d arrière-plan... 362 Utiliser AsyncTask pour exécuter des tâches asynchrones... 363 Déplacer le Service Earthquake vers un thread d arrière-plan avec AsyncTask... 365 Créer manuellement un thread et le synchroniser avec le thread de l interface utilisateur... 366 Portons un Toast... 368 Personnaliser les Toasts... 369 Utiliser des Toasts dans des threads... 371 Introduction aux Notifications... 372 Introduction au Notification Manager... 373 Créer des Notifications... 373 Déclencher des Notifications... 377 Ajouter des Notifications et des Toasts à l application tremblements de terre. 378 Techniques de Notification avancées... 381 Notifications continues et insistantes... 384

X Développement d applications professionnelles avec Android 2 Utiliser des Alarmes... 385 Régler des Alarmes répétitives... 388 Utiliser les Alarmes répétitives pour mettre à jour l application tremblements de terre... 389 Résumé... 392 10 Investir l écran d accueil... 395 Introduction aux widgets de l écran d accueil... 396 Créer des App Widgets... 397 Créer le layout du widget... 398 Définir les paramètres de votre widget... 400 Créer l Intent Receiver de votre widget et l ajouter au manifeste de l application... 401 Introduction aux Remote Views et à l App Widget Manager... 402 Rafraîchir vos widgets... 407 Créer et utiliser une Widget Configuration Activity... 410 Créer un widget pour l application tremblements de terre... 411 Introduction aux Live Folders... 417 Créer des Live Folders... 418 Créer un Live Folder pour l application tremblements de terre... 420 Ajouter des fonctions de recherche à vos applications et présentation de la Quick Search Box... 423 Ajouter des fonctions de recherche... 424 Remonter les résultats d une recherche dans la Quick Search Box... 427 Ajouter une recherche à l application tremblements de terre... 428 Créer un Live Wallpaper... 431 Créer une ressource Live Wallpaper... 432 Créer un Service Wallpaper... 432 Créer un Wallpaper Service Engine... 433 Résumé... 434 11 Audio, vidéo et utilisation de l appareil photo... 437 Lire des fichiers audio et vidéo... 438 Introduction au Media Player... 439 Préparer la lecture d un fichier audio... 439

Table des matières XI Préparer la lecture d une vidéo... 441 Contrôler la lecture... 444 Gérer la restitution de la lecture... 445 Enregistrer audio et vidéo... 446 Utiliser les Intents pour enregistrer une vidéo... 446 Utiliser le Media Recorder... 447 Utiliser l appareil photo et prendre des photos... 450 Utiliser les Intents pour prendre des photos... 451 Contrôler l APN et prendre des photos... 452 Lire et écrire des images au format JPEG EXIF... 457 Ajouter un média au Media Store... 458 Utiliser le Media Scanner... 458 Insérer un média dans le Media Store... 459 Manipulation de fichiers audio bruts... 460 Enregistrer du son à l aide d Audio Record... 460 Lire un son avec un Audio Track... 461 Reconnaissance vocale... 463 Résumé... 465 12 Téléphonie et SMS... 467 Téléphonie... 468 Lancer le composeur pour initier des appels... 468 Remplacer le composeur natif... 469 Accéder au statut et aux propriétés du téléphone et du réseau... 470 Monitorer les changements dans l état du téléphone, son activité et les connexions de données... 473 Introduction aux SMS et MMS... 477 Utiliser les SMS et MMS dans votre application... 478 Envoyer des SMS et des MMS depuis votre application à l aide d Intents et du client natif... 478 Envoyer des SMS manuellement... 479 Ecouter les SMS entrants... 483 Exemple de répondeur d urgence... 485 Automatiser le répondeur d urgence... 496 Résumé... 504

XII Développement d applications professionnelles avec Android 2 13 Bluetooth, réseaux et Wi-Fi... 507 Utiliser Bluetooth... 508 Accéder au Bluetooth Adapter local... 508 Gérer l état et les propriétés Bluetooth... 509 Découverte de périphériques... 512 Communications Bluetooth... 516 Exemple de transfert de données par Bluetooth... 523 Gérer les connexions réseau... 533 Introduction au Connectivity Manager... 533 Lire les préférences de l utilisateur pour le transfert de données en arrière-plan... 534 Monitorer les détails du réseau... 535 Déterminer et configurer les préférences réseau et contrôler le matériel radio... 536 Monitorer la connectivité réseau... 536 Gérer le Wi-Fi... 537 Monitorer la connectivité Wi-Fi... 538 Monitorer les détails de la connexion active... 538 Scanner des Hotspots... 539 Gérer les configurations Wi-Fi... 539 Créer des configurations Wi-Fi... 540 Résumé... 541 14 Capteurs... 543 Utiliser les capteurs et le Sensor Manager... 544 Introduction aux capteurs... 544 Interpréter les valeurs des capteurs... 547 Utiliser le compas, l accéléromètre et les capteurs d orientation... 549 Introduction aux accéléromètres... 550 Détecter les changements d accélération... 550 Mesurer la force gravitationnelle... 552 Déterminer votre orientation... 555 Créer un compas et un horizon artificiel... 560 Contrôler les vibrations de l appareil... 564 Résumé... 565

Table des matières XIII 15 Développement Android avancé... 567 Paranoid Android... 568 Sécurité du noyau Linux... 568 Introduction aux permissions... 569 Déclarer et mettre en œuvre les permissions... 569 Mettre en œuvre les permissions pour les Broadcast Intents... 570 Utiliser les Wake Locks... 570 Introduction à Text to Speech... 572 Utiliser AIDL pour les IPC entre Services... 574 Implémenter une interface AIDL... 575 Transmettre des objets classes sous forme de Parcelables... 575 Implémenter et exposer l interface IPC... 578 Utiliser des Services Internet... 580 Construire des interfaces utilisateur riches... 581 Utiliser les Animations... 581 Dessin de Canvas avancé... 593 Introduction aux Surface Views... 612 Créer des contrôles interactifs... 615 Résumé... 622 Index... 625