Objectifs pédagogiques du cours : ensemble des compétences que l’étudiant doit acquérir, telles que comprendre l’architecture d’Android, connaître la structure d’un projet Android, configurer l’environnement de développement, utiliser les concepts fondamentaux (activité, layout, widget), et stocker/manipuler des données.
Architecture d’Android : organisation en couches comprenant le noyau, les bibliothèques natives, le runtime Android, le framework d’application, et les applications (voir section 10).
Structure d’un projet Android : organisation des répertoires et fichiers, notamment le répertoire racine, les sous-dossiers (bin, gen, libs, res, src, assets), et le fichier AndroidManifest.xml (voir section 41).
Configurer l’environnement de développement Android : processus d’installation et de paramétrage de l’IDE (Eclipse ou Android Studio), SDK, AVD, plugins, et création d’un émulateur (voir sections 17-36).
Utiliser les concepts fondamentaux : activités, layout, widgets, intents, ressources, et gestion du cycle de vie d’une activité (voir sections 48-55).
Stocker et manipuler des données : utilisation de ressources, fichiers, bases de données (SQLite), et gestion des données dans l’application (voir section 15).
Ce cours a pour objectif de fournir à l’étudiant toutes les compétences nécessaires pour développer, configurer, et comprendre une application Android dans son environnement complet, de l’architecture à la gestion des données.
Couche 1 : Noyau
Couche 2 : Bibliothèques natives
Couche 3 : Android Runtime
.dex, en utilisant un ByteCode spécifique, et supporte le multi-instance.Couche 4 : Application Framework
Couche 5 : Applications
Fonctionnement général de l’architecture Android
.dex, optimisées pour les contraintes des appareils mobiles.L’architecture d’Android, organisée en couches, permet une gestion efficace du matériel, une modularité des composants, et un environnement sécurisé pour le développement d’applications mobiles.
Répertoires principaux :
Fichier AndroidManifest.xml :
<manifest> : racine, contenant le package, la version, etc.<application> : décrit l’application et ses composants (activités, services, etc.).android:.La structure d’un projet Android repose sur des répertoires bien définis pour organiser ressources, code et configurations, le tout orchestré par le fichier AndroidManifest.xml qui décrit l’architecture et les composants de l’application.
IDE (Integrated Development Environment) : Environnement intégré de développement utilisé pour créer, éditer, compiler et déboguer des applications Android, par exemple Eclipse ou Android Studio (voir section 9).
SDK (Software Development Kit) : Kit de développement Android comprenant les outils nécessaires pour créer des applications, notamment le compilateur, le débogueur, et autres utilitaires (voir section 9).
AVD (Android Virtual Device) : Appareil virtuel Android créé pour émuler un terminal sur lequel tester l’application sans utiliser un vrai appareil physique (voir section 9).
Procédure d’installation et de configuration : Ensemble des étapes pour télécharger, installer et paramétrer chaque composant du environnement de développement, notamment Eclipse, ADT plugins, SDK Android, et création d’un AVD.
Paramétrage du SDK : Configuration du chemin d’accès au SDK dans l’IDE, permettant à l’environnement de reconnaître et utiliser les outils SDK pour le développement (voir section 9).
Création d’un AVD : Processus de définition d’un nouvel appareil virtuel dans l’AVD Manager, en choisissant le nom, le type de device, la version Android, puis lancement pour émulation (voir section 9).
La configuration de l’environnement de développement Android implique l’installation et la configuration cohérente de l’IDE, du SDK, et la création d’un AVD pour tester efficacement les applications.
Activité
Définition : Classe Java qui hérite de android.app.Activity, représentant une interface utilisateur (IHM) pour une action précise. Elle peut contenir une ou plusieurs interfaces (layouts).
Point essentiel : Chaque activité est indépendante, mais une application peut en contenir plusieurs, avec une activité principale.
Intent
Définition : Objet dérivé de android.content.Intent permettant de lancer une activité ou de communiquer entre composants. Il possède une action et un contenu, et peut être explicite ou implicite.
Point essentiel : La navigation entre activités se fait via des intents, qui peuvent aussi transmettre des données.
Layout
Définition : Description XML ou code Java de la structure visuelle d’une interface utilisateur, regroupant widgets dans un conteneur.
Point essentiel : La création d’interfaces se fait par XML ou programmation Java, formant un arbre d’éléments.
Widget
Définition : Composant interactif ou d’affichage dans une interface (boutons, champs de texte, images, etc.), utilisé dans les layouts.
Point essentiel : Les widgets sont des éléments d’interaction ou d’affichage dans l’IHM.
Utilisation et gestion du cycle de vie d’une activité
Définition : Ensemble des méthodes (onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()) permettant de gérer l’état d’une activité durant son exécution.
Point essentiel : La maîtrise du cycle de vie est cruciale pour gérer ressources, sauvegarde d’état et navigation.
Principes de conception d’interfaces utilisateur dans Android
Définition : Recommandations pour créer des interfaces efficaces, telles que éviter interfaces encombrées, éléments trop petits ou grands, prévoir la rotation d’écran, et structurer l’arbre d’IHM.
Point essentiel : La conception doit privilégier simplicité, adaptabilité et ergonomie, en utilisant layouts appropriés (Linear, Relative, Table, etc.).
La maîtrise des concepts d’activité, intent, layout, widget et du cycle de vie est essentielle pour concevoir des applications Android performantes et intuitives. La structuration de l’IHM par des layouts adaptés facilite une expérience utilisateur optimale.
Historique d’Android : Développement initial par Android Inc, puis racheté par Google en juillet 2005. En novembre 2007, Google lance l’Open Handset Alliance pour établir des normes ouvertes pour les téléphones mobiles.
Versions d’Android : Sont numérotées et nommées selon un ordre chronologique, avec des noms de desserts depuis la version 1.5.
Concurrents d’Android : iOS (Apple), BlackBerry OS (Research In Motion), Windows Phone (Microsoft), Bada (Samsung), webOS (HP), Symbian OS (Nokia).
Android a connu une évolution rapide depuis sa création, avec des versions successives portant des noms de desserts, et fait face à une concurrence variée dans le marché des systèmes d’exploitation mobiles.
Google Play Store : Plateforme officielle de distribution et de téléchargement d’applications Android, anciennement appelée Android Market. Elle offre un catalogue riche en applications, avec une gestion des autorisations avant installation, et exige un terminal certifié pour fonctionner.
Autres plateformes de distribution : Alternatives au Google Play Store permettant de distribuer des applications Android, mais leur utilisation est généralement moins répandue ou réglementée.
Procédure de téléchargement et d’installation : Processus par lequel un utilisateur acquiert une application via une plateforme (ex : Google Play Store ou autres), puis l’installe sur son terminal. Elle inclut la recherche, la vérification des autorisations, le téléchargement, et l’installation automatique ou manuelle.
Frais liés à la distribution : Coûts associés à la mise en ligne et à la vente d’applications sur la plateforme officielle. Sur Google Play Store, ces frais comprennent une inscription de 25 dollars et une commission de 30% sur le prix de vente.
Autorisations liées à la distribution : Permissions que doit accepter l’utilisateur pour que l’application puisse accéder à certaines fonctionnalités du terminal (ex : Internet, GPS, appels). La gestion de ces autorisations est effectuée par la plateforme avant l’installation.
La plateforme Google Play Store domine la distribution d’applications Android, mais d’autres plateformes existent, avec des frais et des autorisations à respecter pour garantir la sécurité et la conformité des applications.
Distribution : Processus de mise à disposition des applications Android pour leur téléchargement et leur installation par les utilisateurs via des plateformes spécifiques.
Google Play Store : Plateforme officielle de distribution et de téléchargement d’applications Android, offrant un catalogue riche en applications, gratuites ou payantes. Elle gère aussi les autorisations et exige un terminal certifié.
Frais d’inscription : Coût initial de 25$ pour s’inscrire en tant que développeur sur Google Play Store, permettant de publier des applications.
Frais de vente : Part du prix de vente d’une application reversée à Google, équivalente à 30% du prix de revient.
La distribution des applications Android repose principalement sur le Google Play Store, qui offre une plateforme sécurisée, contrôlée par des autorisations, avec des frais d’inscription et de vente, permettant une large diffusion mondiale.
Environnement de développement : Ensemble d’outils permettant de créer, tester et déployer des applications Android. Il comprend principalement l’IDE, le SDK, les plugins, et l’AVD (Android Virtual Device).
Outils principaux : Logiciels essentiels pour le développement Android, notamment Eclipse (ou Android Studio), SDK Android, et AVD.
Configuration : Processus d’installation et de paramétrage des outils de développement pour assurer leur bon fonctionnement. Inclut l’installation d’Eclipse, des plugins ADT, du SDK Android, et la création d’un AVD.
Utilisation de Eclipse : Démarrage, configuration, et gestion de l’IDE pour le développement Android, notamment l’ajout de plugins, la création de projets, et la gestion des ressources.
Plugins : Modules complémentaires intégrés à Eclipse pour supporter le développement Android, notamment le plugin ADT (Android Development Tools).
SDK (Software Development Kit) : Kit de développement Android contenant les outils, bibliothèques, et API nécessaires pour créer des applications.
AVD (Android Virtual Device) : Émulateur Android permettant de simuler un terminal mobile pour tester les applications sans appareil physique. La création et la gestion d’un AVD se font via l’Android Virtual Device Manager dans Eclipse.
L’environnement de développement Android repose sur l’installation et la configuration étape par étape d’Eclipse, du SDK, des plugins ADT, et la création d’un AVD pour émuler un terminal mobile, facilitant ainsi le développement et le test des applications.
Création et configuration d’un projet Android : Ensemble des étapes permettant de définir les paramètres essentiels d’un projet Android, notamment le nom, le package, la version, ainsi que l’organisation des fichiers et répertoires.
Étapes de création d’un projet Android : Processus comprenant la sélection du type de projet, la définition du nom, du package, de la version, et la configuration initiale dans l’environnement de développement.
Choix du nom du projet : Nom identifié par l’utilisateur pour distinguer le projet dans l’environnement de développement et lors de la génération du fichier APK.
Choix du package : Identifiant unique en format hiérarchique (ex : com.exemple.monapp) qui sert à différencier l’application dans le système Android.
Version du projet : Numéro de version (versionCode) et version affichée (versionName) qui permettent de suivre les mises à jour de l’application.
Organisation des répertoires et fichiers dans un projet : Structure hiérarchique comprenant notamment les dossiers bin/, gen/, libs/, res/, src/, et le fichier AndroidManifest.xml, chacun ayant un rôle précis dans le développement et la compilation.
Rôle et contenu du fichier AndroidManifest.xml : Fichier XML situé à la racine du projet, décrivant l’architecture de l’application, ses composants (activités, services, etc.), les permissions requises, et les filtres d’intent. Il contient notamment :
<manifest> : élément racine, contenant le package, la version, etc.<application> : décrit l’application, ses composants, et ses attributs.<activity>, <service>, etc.<uses-permission>.<intent-filter>.AndroidManifest.xml est central, il décrit l’architecture de l’application, ses composants, et ses permissions, et doit obligatoirement être présent dans tout projet Android.La création et la configuration d’un projet Android impliquent la définition précise de ses paramètres fondamentaux et l’organisation structurée de ses fichiers, avec le fichier AndroidManifest.xml comme élément clé pour décrire l’architecture de l’application.
Structure d’un projet Android : Organisation des répertoires et fichiers qui composent un projet Android, permettant de gérer le code source, les ressources, et la configuration de l’application. Elle inclut notamment les répertoires bin/, gen/, libs/, res/, src/, ainsi que le fichier AndroidManifest.xml.
AndroidManifest.xml : Fichier XML situé à la racine du projet, décrivant l’architecture de l’application. Il précise la version d’Android, le nom du package, les composants (activités, services, etc.), et les permissions nécessaires. Il contient également des éléments comme <manifest> (élément racine) et <application> (définissant l’application et ses composants).
Ressources : Fichiers et données statiques regroupés dans le répertoire res/, comprenant images (drawable-*), interfaces (layout), constantes (values), menus (menu), animations (anim), etc. La classe générée R.java permet d’accéder à ces ressources via des identifiants uniques.
Activité (Activity) : Composant représentant une interface utilisateur (IHM) pour une action précise. Elle hérite de android.app.Activity et possède un cycle de vie défini par des méthodes comme onCreate(), onStart(), onResume(), etc. Elle peut contenir plusieurs activités dans une application.
Intent : Message asynchrone permettant la navigation entre activités ou le déclenchement d’actions spécifiques (ex : ouvrir une page web). Il dérive de android.content.Intent et possède une action et un contenu. La déclaration d’une activité dans le AndroidManifest.xml se fait via <activity>.
Layout : Description XML de l’interface utilisateur, organisée en arbres d’éléments (conteneurs et widgets). Les layouts courants incluent FrameLayout, LinearLayout, RelativeLayout, TableLayout, etc., chacun permettant de structurer l’IHM selon des principes spécifiques.
File > New > Other > Android Application Project.bin/ pour l’application compilée, gen/ pour le code généré, res/ pour les ressources, src/ pour le code source, et le fichier AndroidManifest.xml.AndroidManifest.xml est indispensable : il décrit la version d’Android supportée, le package, les composants, et les permissions.<activity>, permet au système de gérer leur cycle de vie et leur interaction.R.java facilite l’accès aux ressources via des identifiants générés automatiquement.res/layout/.Intent, déclarés dans le manifeste, permettant de lancer explicitement ou implicitement d’autres activités ou actions.La création et la configuration d’un projet Android impliquent une organisation précise des fichiers et ressources, avec une déclaration claire des composants dans le AndroidManifest.xml, pour assurer une architecture cohérente et fonctionnelle.
| Composant de l'architecture Android | Fonction principale | Auteur / Source |
|---|---|---|
| Noyau (Linux 2.6) | Gestion du matériel, sécurité, mémoire, drivers | — |
| Bibliothèques natives (C/C++) | Fournir des librairies essentielles (SQLite, WebKit, etc.) | — |
| Android Runtime (Dalvik VM) | Exécuter applications .dex, gestion du ByteCode | — |
| Application Framework (Java) | API pour gérer activités, services, ressources | — |
| Applications | Interfaces utilisateur et services, communication via intents | — |
res/ avec celui de assets/.bin/, gen/, libs/, res/, src/, assets/) et du fichier AndroidManifest.xml.Testez vos connaissances sur Introduction à l'architecture et à la création d'applications Android avec 11 questions à choix multiples avec corrections détaillées.
1. Qui est crédité d’avoir formulé les objectifs du cours Android ?
2. Lors de la création d’un projet Android, comment doit-on appliquer la structure du projet et la déclaration dans le fichier AndroidManifest.xml pour assurer une configuration correcte ?
Mémorisez les concepts clés de Introduction à l'architecture et à la création d'applications Android avec 22 flashcards interactives.
Objectifs du cours Android
Acquérir compétences en architecture, structure, concepts, données, distribution.
Architecture d’Android — couches ?
Noyau, bibliothèques, runtime, framework, applications.
Structure d’un projet Android — répertoires ?
bin, gen, libs, res, src, assets, AndroidManifest.xml.
Intelligence Artificielle
Bases de données
Bases de données
Bases de données
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches