1 Cours Développement Android 1 Enseignant: Mehdi M’tir 2 Introduction à Androi

1 Cours Développement Android 1 Enseignant: Mehdi M’tir 2 Introduction à Android Qu'est-ce que Android? ●Système d'exploitation mobile basé sur le noyau Linux ●Interface utilisateur optimisée pour écrans tactiles ●Utilisé sur plus de 80% de tous les smartphones ●Utilisé pour des montres, des téléviseurs et des voitures ●Plus de 2 millions d'applications dans Google Play Store ●Très personnalisable pour les appareils / par les fournisseurs ●Open source 3 L’écran d’accueil Android ●Icônes de lancement pour les applications ●Widgets avec mise à jour automatique pour le contenu en direct ●Peut être sur plusieurs pages ●Dossiers pour organiser des applications ●"OK Google" 4 Exemples d’applications Android 5 Pandora Pokemon GO Facebook Messenger Android Software Developer Kit (SDK) ●Outils de développement (debugger, monitors, editors) ●Bibliothèques utiles (maps, wearables) ●Machines virtuelles (emulators) ●Documentation (developers.android.com) ●Exemples de code 6 Android Studio 7 ●IDE officiel pour Android ●Développer, exécuter, débuguer, tester, et déployer les applications ●Moniteurs et outils de performance ●Machines virtuelles ●Vues de projet ●Mise en page visuelle Google Play store Publier les applications à travers Google Play : ●App Store officiel pour Android ●Service de distribution numérique exploité par Google 8 Architecture Android 9 1. Applications (système & utilisateur) 2. APIs du système Android 3. APIs natives; env. d’exécution 4. Expose les capacités matérielles 5. Linux Kernel Versions Android 10 Codename Version Released API Level Ice Cream Sandwich 4.0 - 4.0.4 Oct 2011 14 - 15 Jelly Bean 4.1 - 4.3.1 July 2012 16 - 18 KitKat 4.4 - 4.4.4 Oct 2013 19 - 20 Lollipop 5.0 - 5.1.1 Nov 2014 21 - 22 Marshmallow 6.0 - 6.0.1 Oct 2015 23 Nougat 7.0 – 7.1 Sept 2016 24 - 25 Oreo 8.0 – 8.1 Août 2017 26 - 27 Dévelopment d’applications 11 Qu’est-ce qu’une application Android? ●Un ou plusieurs écrans interactifs ●Écrit avec Java ou Kotlin et XML ●Utilise le kit de développement logiciel Android (SDK) ●Utilise les bibliothèques Android et le framework d’applications Android (Android Application Framework) ●Exécuté par Android Runtime (ART) 12 Challenges du développement Android ●Plusieurs tailles d'écran et résolutions ●Performance: rendre vos applications sensibles et fluides ●Sécurité: garder le code source et les données utilisateur en sécurité ●Compatibilité: fonctionne bien sur les anciennes versions de la plate- forme ●Marketing: comprendre le marché et vos utilisateurs. 13 Les blocks de construction d’applications ●Ressources : layouts, images, strings, couleurs au format XML et fichiers multimédias ●Composants : activités, services, …, et classes auxiliaires en tant que code Java ●Manifest: information à propos de l’application pour le runtime ●Configuration du Build : les versions APK dans les fichiers de configuration Gradle. 14 Les composants de base ●Activité un écran unique avec une interface utilisateur ●Service effectue des tâches de longue durée en arrière-plan ●Content provider gère un ensemble de données partagé ●Broadcast receiver répond aux évènements à l’échelle du système. 15 Android Studio 16 Qu’est-ce que Android Studio? 17 ●IDE Android ●Structure de projet ●Templates ●Editeur de Layout ●Outils de test ●Buil basé sur Gradle ●Console de log ●Debugueur ●Moniteurs ●Emulateurs Installation ●Mac, Windows, ou Linux ●Nécessite Java Development Kit (JDK) 1.7 ou plus à partir de Oracle Java SE downloads page ●Pointer la variable d’environnement JAVA_HOME vers le dossier d’installation du JDK. ●Télécharger et installer Android à partir de http://developer.android.com/sdk/index.html 18 Créer une première application Android 19 Démarrer Android Studio 20 Créer un nouveau projet 21 Nommer l’application 22 22 Choisir un template pour l’activité 23 23 Choisissez Empty Activity ou Base Activity pour des activités simples et personnalisées. Nommer votre activité 24 24 ●Une bonne pratique est de nommer l’activité principale MainActivity et son layout activity_main ●Utiliser AppCompat ●Générer le fichier file est recommandé 25 Project Files Android Studio Panes Layout Editor Android Monitors: logcat: log messages Les dossiers du project 26 1. manifests—le fichier Android Manifest - description de l'application lue par le moteur d'exécution Android. 2. java—packages de code source Java 3. res—Ressources (XML) - layout, strings, images, dimensions, colors... 4. build.gradle—Fichier de build Gradle Le système de build Gradle ●Système de build moderne intégré sous Android Studio ●Trois build.gradle: ○project ○module ○settings ●Généralement pas nécessaire de connaître les détails Gradle de bas niveau ●Pour en savoir plus sur gradle : https://gradle.org/ 27 Lancer une application 28 28 1. Lancer 2. Sélectionner un appareil (physique ou virtuel) 3. Valider Créer un appareil virtuel 29 Utiliser les emulateurs pour tester l’application sur différentes versions d’Android. Tools > Android > AVD Manager or: Configure virtual device 30 1. Utiliser le hardware 2. Sélectionner la version Android 3. Finaliser Lancement sur un appareil virtuel 31 Lancer sur un appareil physique 32 1. Activer les options pour Développeur: a. Paramètres > A propos du téléphone b. Tapper Build number 7 fois consécutives 2. Activer le bébogage USB a. Paramètres> Option pour les développeurs > Débogage USB 3. Connect le smartphone à votre ordinateur à l’aide d’un cable USB Suivre l’exécution de votre application ●Lorsque l’application est lancée, Android Monitor logcat affiche des informations relatives à l’exécution. ●Vous pouvez ajouter des messages de logs dans le code de votre application. 33 Ajouter des messages de log import android.util.Log; // Use class name as tag private static final String TAG = MainActivity.class.getSimpleName(); // Show message in Android Monitor, logcat pane // Log.<log-level>(TAG, "Message"); Log.d(TAG, “Creating the URI…”); 34 Views, Layouts, et Resources 35 Les views En regardant l’écran de votre smartphone, tout élément graphique que vous voyez est une vue (View). 36 Views Qu’est qu’une vue (view) Les Vues sont les blocs de construction de base de toute interface graphique sous Android. ●Pour le texte TextView, EditText … ●Pour la navigation Button, menus … ●Pour le scroll ScrollView, RecyclerView .. ⇒Toues les classes des vues héritent de la classe View ⇒Toute vue offre un ensemble de propriétés (couleur, dimensions, positionnement …) 37 Exemples de views 38 Button EditText SeekBar CheckBox RadioButton Switch Comment créer et positionner une vue? ●Graphiquement avec Android Studio ●Dans les fichiers XML directement. ●Dans le code Java (non recommandé). 39 Le Layout Editor pour éditer les vues 40 Visual representation of what's in XML file. Utiliser le Layout Editor 41 1. Resizing handle 2. Constraint line and handle 3. Baseline handle 4. Constraint handle Vues définies dans XML <TextView android:id="@+id/show_count" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/myBackgroundColor" android:text="@string/count_initial_value" android:textColor="@color/colorPrimary" android:textSize="@dimen/count_text_size" android:textStyle="bold" /> 42 Les propriétés des vues dans XML 43 android:<property_name>="<property_value>" Example: android:layout_width="match_parent" android:<property_name>="@<resource_type>/resource_id" Example: android:text="@string/button_label_next" android:<property_name>="@+id/view_id" Example: android:id="@+id/show_count" Créer des Vues dans le code Java Dans une Activité : TextView myText = new TextView(this); myText.setText("Display this text!"); 44 context Qu’est-ce qu’un context? ●Context est une interface pour des informations globales à propos de l’environnement de l’application. ●Récupérer le context : Context context = getApplicationContext(); ●Une activité a son propre context : TextView myText = new TextView(this); 45 Les vues personnalisées (custom views) ●Le système Android offre plus de 100 types de vues différentes toutes héritées de la classe View ●Si nécessaire, Vous pouvez créer des vues personnalisées en héritant d’une des vues existantes ou directement de la classe View 46 Les vues ViewGroup Un ViewGroup (parent) est un type de vues contenant d’autres vues (enfant) ViewGroup eat la classe de base pour les layouts et les conteneurs de vues ●ScrollView—vue scrollable contenant une seule vue enfant ●LinearLayout—arrange le vue horizontalement ou verticalement ●RecyclerView— liste de vues ou groupe de vues scrollables 47 Hiérarchie de viewGroups et de views 48 ViewGroup ViewGroup View View View View View La recine est toujours composée d’un ViewGroup Bonnes pratiques pour la hiérarchie de vues 49 ●L’arrangement de la hiérarchie des vues affecte les performances de l’application. ⇒Utiliser autant que possible un nombre réduit de vues simples ⇒Garder une hiérarchie aussi plate que possible—limiter les vues et groupes de vues imbriqués. Layouts 50 Layout Views Layouts ●Types spéciphiques de groupes de vues ●Sont des sous-classes de ViewGroup ●Contiennent des vues imbriqués ●Pour être organisés en lignes, colomnes, grilles, … 51 Les Layouts les plus connus 52 LinearLayout RelativeLayout GridLayout TableLayout Plus récent : ConstraintLayout – Connecter les vues en se basant sur des contraintes Créer un Layout dans XML <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText ... /> <Button ... /> </LinearLayout 53 Créer un Layout dans une activité Java LinearLayout linearL = new LinearLayout(this); linearL.setOrientation(LinearLayout.VERTICAL); TextView myText = new TextView(this); myText.setText("Display this text!"); linearL.addView(myText); setContentView(linearL); 54 Configurer largeur et hauteur dans Java Spécifier la largeur et la hauteur d’un layout : LinearLayout.LayoutParams layoutParams = new Linear.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); myView.setLayoutParams(layoutParams); 55 Gestion des évènements. 56 Événement (event) 57 Quelque chose qui survient : ●dans l’interface utilisateur (UI): Click, tap, drag … ●dans l’appareil : déplacement, driving, tilting => Les évènements sont notifiés par le système Android. Event Handlers 58 Méthodes répondant à un évènement : ●Une méthode, appelée event handler, est déclanchée par un évènement spéciphique et réalise une action en réponse à l’évènement. Gestion d’un clique dans XML & Java 59 Attacher un handler à la vue dans le layout: android:onClick="showToast" Implémenter le handler dans le code de l’activité: public void showToast(View view) { String msg = "Hello Toast!"; Toast toast = Toast.makeText( this, msg, duration); toast.show(); } } Gestion uploads/s1/cours-android.pdf

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 01, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 4.9857MB