PROGRAMMATION MOBILE Septembre 2019 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROG

PROGRAMMATION MOBILE Septembre 2019 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 1 Table des matières A. Objectif global du cours ................................................................................................................ 7 A.1. Objectifs spécifiques .................................................................................................................. 7 B. Prérequis ............................................................................................................................................ 7 C. Introduction .................................................................................................................................... 7 1. Environnement de développement .............................................................................................. 8 1.1. Introduction ............................................................................................................................. 8 Android .......................................................................................................................................... 8 1.1.2. Définition .......................................................................................................................... 8 1.1.3. Programmation d’applications........................................................................................ 8 1.2. SDK Android et Android Studio ........................................................................................... 9 1.2.1. SDK et Studio .................................................................................................................... 9 1.2.2. Android Studio ..................................................................................................................... 9 1.2.3. SDK Manager .................................................................................................................... 9 1.2.4. Les composants d’android ................................................................................................ 10 1.2.5. Choix des éléments du SDK .......................................................................................... 11 1.2.6. Dossiers du SDK ............................................................................................................. 11 1.3. Première application ............................................................................................................. 11 1.3.2. Choix du type d’application .......................................................................................... 12 1.3.3. Points à configurer ......................................................................................................... 12 1.3.4. Résultat de l’assistant ..................................................................................................... 12 1.3.5. Éditeurs spécifiques .......................................................................................................... 12 1.3.6. Source XML sous-jacent .................................................................................................... 13 1.3.7. Reconstruction du projet ................................................................................................... 13 1.3.8. Gradle .................................................................................................................................. 13 1.3.9. Mises à jour ......................................................................................................................... 13 1.4. Première exécution ................................................................................................................ 14 1.4.1. Exécution de l’application ................................................................................................. 14 1.5. Logiciel ADB.......................................................................................................................... 14 1.5.1. Mode d’emploi de ADB ..................................................................................................... 14 1.6. Création d’un paquet installable ............................................................................................. 15 1.6.1. Paquet .............................................................................................................................. 15 1.6.2. Signature d’une application .......................................................................................... 15 2. Création d’interface utilisateur ................................................................................................... 16 2.1. Applications et activités ........................................................................................................ 16 2.1.1. Composition d’une application ..................................................................................... 16 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 2 2.1.2. Création d’un écran ............................................................................................................ 16 2.2. Ressources ................................................................................................................................. 16 2.2.1. Identifiant de ressource ................................................................................................. 16 2.2.2. La classe R ........................................................................................................................... 17 2.2.3. Rappel sur la structure d’un fichier XML..................................................................... 17 2.2.4. Espaces de nommage dans un fichier XML ..................................................................... 17 2.2.5. Création d’une interface par programme ........................................................................ 18 2.2.6. Programme et ressources ............................................................................................... 18 2.2.7. Ressources de type chaînes............................................................................................ 19 2.2.8. Traduction des chaînes ( localisation ) ............................................................................... 19 2.2.9. Référencement des ressources texte ................................................................................. 19 2.2.10. Identifiants et vues ........................................................................................................... 20 2.2.11. @id/nom ou @+id/nom ? ............................................................................................... 20 2.2.12. Images : R.drawable.nom ................................................................................................ 20 2.2.13. Tableau de chaînes : R.array.nom ................................................................................... 21 2.2.14. Autres ................................................................................................................................ 21 2.3. Mise en page .............................................................................................................................. 21 2.3.1. Structure d’une interface Android .................................................................................... 21 2.3.2. Représentation en XML ..................................................................................................... 22 2.3.4. Paramètres de positionnement ......................................................................................... 22 2.3.5. Paramètres généraux.......................................................................................................... 22 2.3.6. Autres paramètres géométriques ...................................................................................... 22 2.3.7. Marges et remplissage ....................................................................................................... 23 2.3.8. Groupe de vues LinearLayout .......................................................................................... 23 2.3.9. Pondération des tailles ....................................................................................................... 23 2.3.10. Exemple de poids différents ............................................................................................ 24 2.3.11. Groupe de vues TableLayout .......................................................................................... 24 2.3.12. Largeur des colonnes d’un TableLayout ........................................................................ 25 2.3.13. Groupe de vues RelativeLayout...................................................................................... 25 2.3.14. Utilisation d’un RelativeLayout ...................................................................................... 25 2.4. Composants d’interface ............................................................................................................ 26 2.4.1. Vues ..................................................................................................................................... 26 2.4.2. TextView ............................................................................................................................. 26 2.4.3. Button .................................................................................................................................. 26 2.4.4. Bascules ............................................................................................................................... 27 2.4.5. EditText ............................................................................................................................... 27 2.5. Styles .......................................................................................................................................... 27 2.5.1. Styles et thèmes .................................................................................................................. 27 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 3 2.5.2. Définir un style ................................................................................................................... 27 2.5.3. Utiliser un style .................................................................................................................. 28 2.5.4. Utiliser un thème ................................................................................................................ 28 3. Vie d’une application .................................................................................................................. 29 3.1. Applications et activités ........................................................................................................ 29 Composition d’une application .................................................................................................. 29 3.1.3. Sécurité des applications (pour info) ............................................................................ 29 3.1.5. Démarrage d’une application............................................................................................ 30 3.1.6. Démarrage d’une activité et Intents ................................................................................. 30 3.1.8. Lancement d’une application Android ............................................................................ 31 3.1.9. Lancement d’une activité d’une autre application .......................................................... 31 3.2. Applications ........................................................................................................................... 31 Fonctionnement d’une application............................................................................................. 31 3.2.2. Lancement sans attente .................................................................................................. 32 3.2.3. Lancement avec attente de résultat ............................................................................... 32 3.2.5. Lancement avec attente, suite........................................................................................ 32 3.2.6. Terminaison d’une activité ............................................................................................ 33 3.2.7. Méthode onActivityResult............................................................................................. 33 3.2.8. Transport d’informations dans un Intent ..................................................................... 33 3.2.9. Extraction d’informations d’un Intent .......................................................................... 34 3.2.10. Contexte d’application ..................................................................................................... 34 3.2.11. Définition d’un contexte d’application ........................................................................... 34 3.2.12. Définition d’un contexte d’application, suite................................................................. 34 3.2.13. Définition d’un contexte d’application, fin .................................................................... 35 3.3. Activités .................................................................................................................................. 35 Présentation .................................................................................................................................. 35 3.3.2. Cycle de vie d’une activité ............................................................................................. 36 3.3.3. Événements de changement d’état ............................................................................... 36 3.3.4. Squelette d’activité ......................................................................................................... 36 3.3.5. Terminaison d’une activité ............................................................................................ 37 3.3.6. Pause d’une activité ....................................................................................................... 37 3.3.7. Arrêt d’une activité ........................................................................................................ 37 3.3.8. Enregistrement de valeurs d’une exécution à l’autre .................................................. 37 3.3.9. Restaurer l’état au lancement ........................................................................................ 38 3.4. Vues et activités ..................................................................................................................... 38 3.4.1. Obtention des vues ......................................................................................................... 38 3.4.2. Propriétés des vues ........................................................................................................ 38 3.4.3. Actions de l’utilisateur ................................................................................................... 39 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 4 3.4.4. Définition d’un écouteur................................................................................................ 39 3.4.5. Écouteur privé anonyme ............................................................................................... 40 3.4.6. Écouteur privé ................................................................................................................ 40 3.4.7. L’activité elle-même en tant qu’écouteur ..................................................................... 40 3.4.8. Distinction des émetteurs .............................................................................................. 41 4. Application liste ........................................................................................................................... 42 4.1. Présentation ........................................................................................................................... 42 4.1.1. Principe général .............................................................................................................. 42 4.1.2. Une classe pour représenter les items .......................................................................... 42 4.1.3. Données initiales ............................................................................................................ 43 4.1.4. Données initiales dans les ressources ........................................................................... 43 4.1.5. Copie dans un ArrayList ............................................................................................... 44 4.1.6. Rappels sur le container ArrayList<type> ................................................................... 44 4.2. Affichage de la liste................................................................................................................ 45 4.2.1. Activité spécialisée ou standard .................................................................................... 45 4.2.2. Mise en œuvre ................................................................................................................ 45 4.2.3. Layout de l’activité pour afficher une liste ................................................................... 45 4.2.4. Mise en place du layout d’activité ................................................................................ 46 4.3. Adaptateurs ........................................................................................................................... 47 4.3.1. Relations entre la vue et les données ............................................................................ 47 4.3.2. Rôle d’un adaptateur ..................................................................................................... 47 4.3.3. Adaptateurs prédéfinis .................................................................................................. 47 4.3.4. ArrayAdapter<Type> pour les listes ............................................................................ 48 4.3.5. Exemple d’emploi........................................................................................................... 48 4.3.6. Affichage avec une ListActivity .................................................................................... 48 4.3.7. Layout pour un item ...................................................................................................... 49 4.3.8. Autre layouts .................................................................................................................. 49 4.3.9. Layouts prédéfinis .......................................................................................................... 49 4.3.10. Exemple avec les layouts standards ............................................................................... 50 4.4. Adaptateur personnalisé .......................................................................................................... 50 4.4.1. Classe Adapter personnalisée ........................................................................................... 50 4.4.2. Classe Adapter personnalisé, suite ............................................................................... 50 4.4.3. Réutilisation d’une vue .................................................................................................. 51 4.4.4. Méthode getView personnalisée ................................................................................... 51 } ...................................................................................................................................................... 51 4.4.5. Méthode PlaneteView.create ......................................................................................... 51 4.4.6. Layout d’item res/layout/item.xml ............................................................................. 51 4.4.7. Classe personnalisée dans les ressources ......................................................................... 52 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 5 4.4.8. Classe PlaneteView pour afficher les items ...................................................................... 52 4.4.9. Définition de la classe PlaneteView .................................................................................. 53 4.4.10. Créer des vues à partir d’un layout XML ....................................................................... 53 4.4.11. Méthode PlaneteView.create ........................................................................................... 53 4.4.12. Méthode findViews .......................................................................................................... 54 4.4.13. La méthode PlaneteView.setItem ................................................................................... 54 4.4.14. Récapitulatif ...................................................................................................................... 54 4.4.15. Le résultat.......................................................................................................................... 55 4.5. Actions utilisateur sur la liste .................................................................................................. 55 4.5.1. Modification des données.................................................................................................. 55 4.5.2. Clic sur un élément ............................................................................................................ 55 4.5.3. Liste d’éléments cochables ................................................................................................ 57 4.5.7. Liste cochable simple ..................................................................................................... 57 4.5.8. Liste à choix multiples ................................................................................................... 57 4.5.9. Liste cochable personnalisée ............................................................................................. 57 4.6. RecyclerView ............................................................................................................................. 59 4.6.1. Présentation ........................................................................................................................ 59 4.6.2. Principes .............................................................................................................................. 59 4.6.3. Méthode onCreate de l’activité ..................................................................................... 59 4.6.4. Disposition des éléments ................................................................................................... 60 4.6.5. Mise en grille ...................................................................................................................... 60 4.6.6. Séparateur entre items ....................................................................................................... 60 5. Ergonomie .................................................................................................................................... 61 5.1. Barre d’action et menus ........................................................................................................ 61 Barre d’action ............................................................................................................................... 61 5.1.2. Réalisation d’un menu ................................................................................................... 61 5.1.4. Icônes pour les menus .................................................................................................... 62 5.1.5. Écouteurs pour les menus ............................................................................................. 62 5.1.6. Réactions aux sélections d’items ................................................................................... 62 5.1.7. Menus en cascade ........................................................................................................... 63 5.1.8. Menus contextuels .......................................................................................................... 63 5.1.9. Associer un menu contextuel à une vue ....................................................................... 64 5.1.10. Callback d’affichage du menu ......................................................................................... 64 5.1.11. Callback des items du menu ........................................................................................... 64 5.1.12. Menu contextuel pour un RecyclerView ........................................................................ 65 5.2. Annonces et dialogues .......................................................................................................... 66 5.2.1. Annonces : toasts ............................................................................................................. 66 5.2.2. Annonces personnalisées................................................................................................... 66 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 6 5.2.3. Dialogues ............................................................................................................................ 67 5.2.4. Dialogue d’alerte ................................................................................................................ 67 5.2.5. Boutons et affichage d’un dialogue d’alerte ..................................................................... 67 5.2.6. Autres types de dialogues d’alerte ................................................................................... 68 5.2.7. Dialogues personnalisés .................................................................................................... 68 5.2.8. Création d’un dialogue .................................................................................................. 69 5.2.9. Affichage du dialogue .................................................................................................... 69 6. Connexion à une BD .................................................................................................................... 70 6.1. PHP – MYSQL ....................................................................................................................... 70 Creating Database ........................................................................................................................ 70 Creating Tables ............................................................................................................................ 70 Insertion de données dans la table ............................................................................................. 70 Les methods PHP : GET and POST ............................................................................................ 71 La deuxième méthode consiste à utiliser la méthode POST. ................................................... 71 Connexion via la méthode Post .................................................................................................. 72 Exemple ........................................................................................................................................ 72 PHP - partie MYSQL.................................................................................................................... 72 Partie Android ............................................................................................................................. 73 Conclusion ........................................................................................................................................... 82 Références bibliographiques ............................................................................................................... 82 Mode d’évaluation .............................................................................................................................. 82 MSC. NTINANIRWA PIE PACIFIQUE 03/09/19 PROGRAMMATION MOBILE 7 A. Objectif global du cours Outiller les étudiants des capacités à pouvoir développer des applications pouvant tourner sur les smarts phones, tablettes, … avec l’IDE Android studio, java comme langage. A.1. Objectifs spécifiques Rappeler aux apprenants les bases de la programmation et celles de la programmation orientée objet ; Renforcer l’assimilation de la matière par des séances de pratiques avec exécution sur les AVD et les smarts phones réels ; Connecter les projets réalisés à une base de données (Mysql). B. Prérequis Le cours nécessite des prérequis en rapport avec la programmation orientée objet en java et la programmation web avec html et php. C. Introduction Ce cours de programmation mobile se veut révolutionnant, il offre la possibilité de pouvoir programmer et éxecuter des tâches sur les smarts phones, les tablettes, les postes téléviseur,… Il apporte dans le monde de la programmation une nouvelle approche qui est d’utiliser un envirommement de developpement regrouppant plusieurs outils incorporés. Dans le but de faciliter la propagation de l’utilisation de l’outil logiciel sans faire recours à la machine ordinateur qui coûte cher uploads/s3/ coursprogmobile-copie.pdf

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