Créez des applications pour Android Par AndroWiiid et Frédéric Espiau (Apollido

Créez des applications pour Android Par AndroWiiid et Frédéric Espiau (Apollidore) www.siteduzero.com Licence Creative Commons 6 2.0 Dernière mise à jour le 3/12/2012 Sommaire 2 Sommaire ........................................................................................................................................... 5 Lire aussi ............................................................................................................................................ 7 Créez des applications pour Android ................................................................................................. 9 Partie 1 : Les bases indispensables à toute application ...................................................................... 9 L'univers Android ............................................................................................................................................................... 9 La création d'Android .................................................................................................................................................................................................. 10 La philosophie et les avantages d'Android ................................................................................................................................................................ 11 Les difficultés du développement pour des systèmes embarqués ............................................................................................................................ 12 Le langage Java ........................................................................................................................................................................................................ 12 Les variables ............................................................................................................................................................................................................. 13 L'héritage ................................................................................................................................................................................................................... 15 La compilation et l'exécution ..................................................................................................................................................................................... 15 En résumé ................................................................................................................................................................................................................. 15 Installation et configuration des outils ............................................................................................................................. 16 Conditions initiales .................................................................................................................................................................................................... 16 Le Java Development Kit .......................................................................................................................................................................................... 17 Le SDK d'Android ...................................................................................................................................................................................................... 18 L'IDE Eclipse ............................................................................................................................................................................................................. 21 L'émulateur de téléphone : Android Virtual Device ................................................................................................................................................... 23 Test et configuration .................................................................................................................................................................................................. 28 Configuration du vrai terminal ................................................................................................................................................................................... 28 Configuration du terminal .......................................................................................................................................................................................... 28 Pour les utilisateurs de Windows .............................................................................................................................................................................. 28 Pour les utilisateurs de Mac ...................................................................................................................................................................................... 28 Pour les utilisateurs de Linux .................................................................................................................................................................................... 29 Et après ? .................................................................................................................................................................................................................. 30 Votre première application .............................................................................................................................................. 30 Activité et vue ............................................................................................................................................................................................................ 30 Qu'est-ce qu'une activité ? ........................................................................................................................................................................................ 31 États d'une activité .................................................................................................................................................................................................... 32 Cycle de vie d'une activité ......................................................................................................................................................................................... 34 Création d'un projet ................................................................................................................................................................................................... 38 Un non-Hello world! ................................................................................................................................................................................................... 42 Lancement de l'application ........................................................................................................................................................................................ 45 Les ressources ................................................................................................................................................................ 45 Le format XML ........................................................................................................................................................................................................... 45 Les langages de balisage ......................................................................................................................................................................................... 46 La syntaxe XML ......................................................................................................................................................................................................... 47 Les différents types de ressources ............................................................................................................................................................................ 49 L'organisation ............................................................................................................................................................................................................ 50 Exemples et règles à suivre ...................................................................................................................................................................................... 51 Mes recommandations .............................................................................................................................................................................................. 51 Ajouter un fichier avec Eclipse .................................................................................................................................................................................. 53 Petit exercice ............................................................................................................................................................................................................. 53 Récupérer une ressource .......................................................................................................................................................................................... 54 La classe R ............................................................................................................................................................................................................... 57 Application ................................................................................................................................................................................................................. 58 Application ................................................................................................................................................................................................................. 59 Partie 2 : Création d'interfaces graphiques ....................................................................................... 60 Constitution des interfaces graphiques ........................................................................................................................... 60 L'interface d'Eclipse ................................................................................................................................................................................................... 60 Présentation de l'outil ................................................................................................................................................................................................ 62 Utilisation ................................................................................................................................................................................................................... 66 Règles générales sur les vues .................................................................................................................................................................................. 66 Différenciation entre un layout et un widget .............................................................................................................................................................. 67 Attributs en commun ................................................................................................................................................................................................. 68 Identifier et récupérer des vues ................................................................................................................................................................................. 68 Identification .............................................................................................................................................................................................................. 70 Instanciation des objets XML .................................................................................................................................................................................... 74 Les widgets les plus simples ........................................................................................................................................... 74 Les widgets ............................................................................................................................................................................................................... 74 TextView .................................................................................................................................................................................................................... 75 EditText ...................................................................................................................................................................................................................... 76 Button ........................................................................................................................................................................................................................ 76 CheckBox .................................................................................................................................................................................................................. 77 RadioButton et RadioGroup ...................................................................................................................................................................................... 78 Utiliser la documentation pour trouver une information ............................................................................................................................................. 81 Calcul de l'IMC - Partie 1 ........................................................................................................................................................................................... 84 Gérer les évènements sur les widgets ...................................................................................................................................................................... 84 Les listeners .............................................................................................................................................................................................................. 85 Par héritage ............................................................................................................................................................................................................... 86 Par une classe anonyme ........................................................................................................................................................................................... 87 Par un attribut ............................................................................................................................................................................................................ 88 Application ................................................................................................................................................................................................................. 2/422 www.siteduzero.com 90 Calcul de l'IMC - Partie 2 ........................................................................................................................................................................................... 93 Organiser son interface avec des layouts ....................................................................................................................... 94 LinearLayout : placer les éléments sur une ligne ...................................................................................................................................................... 99 Calcul de l'IMC - Partie 3.1 ........................................................................................................................................................................................ 102 RelativeLayout : placer les éléments les uns en fonction des autres ...................................................................................................................... 106 Calcul de l'IMC - Partie 3.2 ...................................................................................................................................................................................... 108 TableLayout : placer les éléments comme dans un tableau ................................................................................................................................... 111 Calcul de l'IMC - Partie 3.3 ...................................................................................................................................................................................... 112 FrameLayout : un layout un peu spécial .................................................................................................................................................................. 113 ScrollView : faire défiler le contenu d'une vue ......................................................................................................................................................... 113 Les autres ressources ................................................................................................................................................... 114 Aspect général des fichiers de ressources .............................................................................................................................................................. 115 Référence à une ressource ..................................................................................................................................................................................... 116 Les chaînes de caractères ...................................................................................................................................................................................... 117 Application ............................................................................................................................................................................................................... 118 Formater des chaînes de caractères ....................................................................................................................................................................... 120 Les drawables ......................................................................................................................................................................................................... 120 Les images matricielles ........................................................................................................................................................................................... 120 Les images extensibles ........................................................................................................................................................................................... 123 Les styles ................................................................................................................................................................................................................ 124 Les animations ........................................................................................................................................................................................................ 125 Définition en XML .................................................................................................................................................................................................... 127 Un dernier raffinement : l'interpolation .................................................................................................................................................................... 128 L'évènementiel dans les animations ....................................................................................................................................................................... 129 TP : un bloc-notes ......................................................................................................................................................... 130 Objectif .................................................................................................................................................................................................................... 130 Le menu .................................................................................................................................................................................................................. 131 L'éditeur ................................................................................................................................................................................................................... 131 Spécifications techniques ........................................................................................................................................................................................ 131 Fichiers à utiliser ..................................................................................................................................................................................................... 131 Le HTML .................................................................................................................................................................................................................. 133 L'animation .............................................................................................................................................................................................................. 134 Liens ........................................................................................................................................................................................................................ 134 Déboguer des applications Android ........................................................................................................................................................................ 137 Ma solution .............................................................................................................................................................................................................. 137 Les ressources ........................................................................................................................................................................................................ 142 Le code .................................................................................................................................................................................................................... 147 Objectifs secondaires .............................................................................................................................................................................................. 147 Boutons à plusieurs états ........................................................................................................................................................................................ 148 Internationalisation .................................................................................................................................................................................................. 148 Gérer correctement le mode paysage ..................................................................................................................................................................... 149 Des widgets plus avancés et des boîtes de dialogue ................................................................................................... 149 Les listes et les adaptateurs .................................................................................................................................................................................... 149 Les adaptateurs ....................................................................................................................................................................................................... 153 Les vues responsables de l'affichage des listes : les AdapterView ......................................................................................................................... 160 Plus complexe : les adaptateurs personnalisés ...................................................................................................................................................... 163 Amélioration : le pattern ViewHolder ....................................................................................................................................................................... 163 Les boîtes de dialogue ............................................................................................................................................................................................ 164 Généralités .............................................................................................................................................................................................................. 165 Application ............................................................................................................................................................................................................... 167 La boîte de dialogue de base .................................................................................................................................................................................. 168 AlertDialog ............................................................................................................................................................................................................... 169 Les autres widgets .................................................................................................................................................................................................. 169 Date et heure ........................................................................................................................................................................................................... 171 Afficher des images ................................................................................................................................................................................................. 173 Autocomplétion ....................................................................................................................................................................................................... 175 Gestion des menus de l’application .............................................................................................................................. 175 Menu d'options ........................................................................................................................................................................................................ 175 Créer un menu ........................................................................................................................................................................................................ 178 Réagir aux clics ....................................................................................................................................................................................................... 179 Menu contextuel ...................................................................................................................................................................................................... 180 Maintenant que vous maîtrisez les menus, oubliez tout ......................................................................................................................................... 181 Création de vues personnalisées .................................................................................................................................. 182 Règles avancées concernant les vues .................................................................................................................................................................... 182 Dimensions et placement d'une vue ....................................................................................................................................................................... 184 Le dessin ................................................................................................................................................................................................................. 185 Méthode 1 : à partir d'une vue préexistante ............................................................................................................................................................ 188 Méthode 2 : une vue composite .............................................................................................................................................................................. 191 Méthode 3 : créer une vue en partant de zéro ........................................................................................................................................................ 191 La construction programmatique ............................................................................................................................................................................. 191 La construction par inflation .................................................................................................................................................................................... 193 onMeasure .............................................................................................................................................................................................................. 194 onDraw .................................................................................................................................................................................................................... 195 Partie 3 : Vers des applications plus complexes ............................................................................. 196 Préambule : quelques concepts avancés ..................................................................................................................... 196 Généralités sur le nœud <manifest> ....................................................................................................................................................................... 196 <manifest> .............................................................................................................................................................................................................. 197 <uses-sdk> .............................................................................................................................................................................................................. 198 <uses-feature> ........................................................................................................................................................................................................ 198 <supports-screens> ................................................................................................................................................................................................ 199 Le nœud <application> ........................................................................................................................................................................................... Sommaire 3/422 www.siteduzero.com 199 Les thèmes .............................................................................................................................................................................................................. 199 <activity> ................................................................................................................................................................................................................. 200 Les permissions ...................................................................................................................................................................................................... 201 Utiliser les permissions ........................................................................................................................................................................................... 201 Créer ses permissions ............................................................................................................................................................................................ 201 Gérer correctement le cycle des activités ............................................................................................................................................................... 202 Sous les feux de la rampe : période suspendue ..................................................................................................................................................... 203 Convoquer le plan et l'arrière-plan : période arrêtée ............................................................................................................................................... 203 De la naissance à la mort ........................................................................................................................................................................................ 204 L'échange équivalent .............................................................................................................................................................................................. 205 Gérer le changement de configuration .................................................................................................................................................................... 210 La communication entre composants ........................................................................................................................... 210 Aspect technique ..................................................................................................................................................................................................... 211 Injecter des données dans un intent ........................................................................................................................................................................ 213 Les intents explicites ............................................................................................................................................................................................... 213 Sans retour .............................................................................................................................................................................................................. 215 Avec retour .............................................................................................................................................................................................................. 218 Les intents implicites ............................................................................................................................................................................................... 218 Les données ............................................................................................................................................................................................................ 220 L'action .................................................................................................................................................................................................................... 221 La résolution des intents ......................................................................................................................................................................................... 221 L'action .................................................................................................................................................................................................................... 222 La catégorie ............................................................................................................................................................................................................. 223 Les données ............................................................................................................................................................................................................ 224 Pour aller plus loin : navigation entre des activités ................................................................................................................................................. 225 Modifier l'activité dans le Manifest ........................................................................................................................................................................... 226 Avec les intents ....................................................................................................................................................................................................... 226 Pour aller plus loin : diffuser des intents ................................................................................................................................................................. 230 Le stockage de données ............................................................................................................................................... 230 Préférences partagées ............................................................................................................................................................................................ 230 Les données partagées ........................................................................................................................................................................................... 231 Des préférences prêtes à l'emploi ........................................................................................................................................................................... 236 Manipulation des fichiers ......................................................................................................................................................................................... 236 Rappels sur l'écriture et la lecture de fichiers .......................................................................................................................................................... 237 En interne ................................................................................................................................................................................................................ 238 En externe ............................................................................................................................................................................................................... 238 Application ............................................................................................................................................................................................................... 240 TP : un explorateur de fichiers ...................................................................................................................................... 241 Objectifs .................................................................................................................................................................................................................. 241 Contenu d'un répertoire ........................................................................................................................................................................................... 241 Navigation entre les répertoires .............................................................................................................................................................................. 241 Préférences ............................................................................................................................................................................................................. 242 Action sur les fichiers .............................................................................................................................................................................................. 243 Spécifications techniques ........................................................................................................................................................................................ 243 Activité principale .................................................................................................................................................................................................... 244 Préférences ............................................................................................................................................................................................................. 248 Options .................................................................................................................................................................................................................... 248 Navigation ............................................................................................................................................................................................................... 248 Visualiser un fichier ................................................................................................................................................................................................. 249 Ma solution .............................................................................................................................................................................................................. 249 Interface graphique ................................................................................................................................................................................................. 249 Choisir une couleur avec ColorPickerPreferenceDialog ......................................................................................................................................... 251 L'activité principale .................................................................................................................................................................................................. 257 Améliorations envisageables .................................................................................................................................................................................. 257 Quand la liste est vide ou le périphérique externe est indisponible ........................................................................................................................ 257 Détection automatique du type MIME ..................................................................................................................................................................... 258 Détecter les changements d'état du périphérique externe ...................................................................................................................................... 259 Les bases de données .................................................................................................................................................. 260 Généralités .............................................................................................................................................................................................................. 260 Sur les bases de données ....................................................................................................................................................................................... 261 Sur SQLite ............................................................................................................................................................................................................... 261 Sur SQLite pour Android ......................................................................................................................................................................................... 262 Création et mise à jour ............................................................................................................................................................................................ 264 Opérations usuelles ................................................................................................................................................................................................ 264 Récupérer la base ................................................................................................................................................................................................... 264 Réfléchir, puis agir ................................................................................................................................................................................................... 267 Ajouter ..................................................................................................................................................................................................................... 268 Supprimer ................................................................................................................................................................................................................ 268 Mise à jour ............................................................................................................................................................................................................... 269 Sélection ................................................................................................................................................................................................................. 269 Les curseurs ............................................................................................................................................................................................................ 269 Manipuler les curseurs ............................................................................................................................................................................................ 271 L'adaptateur pour les curseurs ................................................................................................................................................................................ 272 Partie 4 : Concepts avancés ........................................................................................................... 273 Le travail en arrière-plan ............................................................................................................................................... 273 La gestion du multitâche par Android ...................................................................................................................................................................... 274 Processus ............................................................................................................................................................................................................... 275 Threads ................................................................................................................................................................................................................... 275 Gérer correctement les threads simples ................................................................................................................................................................. 275 La base .................................................................................................................................................................................................................... 278 Les messages et les handlers ................................................................................................................................................................................. 279 Application : une barre de progression ................................................................................................................................................................... Sommaire 4/422 www.siteduzero.com 282 Sécuriser ses threads ............................................................................................................................................................................................. 282 AsyncTask ............................................................................................................................................................................................................... 285 Application ............................................................................................................................................................................................................... 288 Les services .................................................................................................................................................................. 289 Qu'est-ce qu'un service ? ........................................................................................................................................................................................ 289 Gérer le cycle de vie d'un service ........................................................................................................................................................................... 290 Les services locaux ................................................................................................................................................................................................. 293 Les services distants ............................................................................................................................................................................................... 294 Créer un service ...................................................................................................................................................................................................... 294 Dans le Manifest ...................................................................................................................................................................................................... 295 En Java ................................................................................................................................................................................................................... 297 Les notifications et services de premier plan .......................................................................................................................................................... 297 Distribuer des autorisations ..................................................................................................................................................................................... 298 Notifications ............................................................................................................................................................................................................. 302 Les services de premier plan .................................................................................................................................................................................. 303 Pour aller plus loin : les alarmes ............................................................................................................................................................................. 303 Les alarmes uniques ............................................................................................................................................................................................... 304 Les alarmes récurrentes ......................................................................................................................................................................................... 304 Annuler une alarme ................................................................................................................................................................................................. 305 Le partage de contenus entre applications ................................................................................................................... 306 Côté client : accéder à des fournisseurs ................................................................................................................................................................. 306 Accéder à un fournisseur ........................................................................................................................................................................................ 307 L'URI des fournisseurs de contenu ......................................................................................................................................................................... 308 Effectuer des opérations sur un fournisseur de contenu ......................................................................................................................................... 310 Créer un fournisseur uploads/s3/creez-des-applications-pour-android-pdf.pdf

  • 46
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager