Introduction Générale
Le document présente une vue d'ensemble complète sur le développement
mobile sous Android. Le cours se compose de concepts théoriques et de travaux
pratiques avec un mini-projet d'application Android à réaliser. Ce dernier
constitue une part importante de la note finale (66 %) et doit être fait en groupe
de 1 à 3 personnes.
1. Types d'Applications Mobiles
Le développement mobile peut se décliner selon trois grandes catégories :
1.1. Applications Web Mobiles
Fonctionnement :
o S'exécutent sur un serveur distant.
o Développées avec des langages serveur tels que PHP, JavaScript,
ou [Link].
o Retourne des pages web adaptées aux écrans des smartphones.
Outils utilisés :
o Utilisation des technologies web comme HTML5, CSS3 et
JavaScript.
o Frameworks populaires :
jQuery Mobile : bibliothèque JavaScript pour des interfaces
adaptatives.
Sencha Touch : bibliothèque riche basée sur HTML5, CSS3
et JavaScript.
Avantages :
o Développement rapide et économique.
o Multiplateforme.
Inconvénients :
o Accès limité aux fonctionnalités matérielles de l'appareil.
o Impossible d'utiliser les API Android natives.
1.2. Applications Mobiles Hybrides
Fonctionnement :
o Écrites avec des technologies web (HTML, CSS, JavaScript).
o Une couche d'abstraction permet l'accès aux APIs du système via
des solutions comme PhoneGap.
Avantages :
o Multiplateforme et accès à certaines fonctionnalités système.
o Développement plus rapide que les applications natives.
Inconvénients :
o Moins performantes que les applications natives.
o Accès limité aux fonctionnalités avancées du système.
1.3. Applications Mobiles Natives
Fonctionnement :
o Développées avec un SDK spécifique et un langage natif comme
Java pour Android.
o Compilation en fichier .apk pour une exécution sur les appareils
Android.
Outils utilisés :
o Langage Java, avec des IDE tels que Android Studio, Eclipse ou
IntelliJ IDEA.
o Le SDK Android qui fournit des API, des outils de débogage et de
compilation.
Avantages :
o Excellentes performances.
o Accès complet aux API système et fonctionnalités matérielles.
o Possibilité de personnalisation avancée.
Inconvénients :
o Développement plus coûteux et long.
2. Présentation de l'Open Handset Alliance (OHA)
L'Open Handset Alliance est une association de 34 entreprises, créée à
l'initiative de Google en 2007. Elle vise à établir des normes ouvertes pour les
appareils mobiles, Android étant l'un des fruits de cette collaboration.
3. Plateforme Android : Composants et Architecture
SDK Android : contient les API nécessaires, des exemples de code, une
documentation et un émulateur.
Machine Virtuelle Dalvik : optimise l'exécution des applications en
utilisant des fichiers .dex (Dalvik Executable).
4. Développement avec Android Studio
Android Studio est l'IDE officiel supporté par Google pour le développement
Android. Il intègre le SDK d'Android et simplifie la création, le débogage et le
test des applications.
5. Composants d'une Application Android
5.1 Fichier de Configuration ([Link])
Il décrit :
Le point d'entrée de l'application.
Les activités, services et composants utilisés.
Les permissions nécessaires à l'exécution.
5.2 Activités (Activities)
Une activité correspond à un écran de l'application :
Implémentée avec une classe héritant de [Link].
Deux volets :
o La logique métier définie en Java.
o L'interface utilisateur définie de manière déclarative en XML.
Cycle de vie d'une activité :
Les principales étapes sont :
onCreate(): initialisation de l'activité.
onStart(): préparation à l'affichage.
onResume(): l'activité devient visible.
onPause(): interruption temporaire.
5.3 Interface Utilisateur (Views)
Les vues sont les éléments graphiques (boutons, textes, images) qui composent
une activité :
Disposition définie via des layouts (gabarits) imbriqués.
Décrits en fichiers XML dans le dossier res/layout.
Création d'une Interface
La définition de l'interface utilisateur peut se faire de manière :
Déclarative via des fichiers XML.
Programmative dans le code de l'activité.
6. Travaux Pratiques et Mini-Projet
Le cours prévoit :
TPs : pour mettre en pratique les concepts abordés.
Mini-projet : développement d'une application Android réelle, évaluée à
hauteur de 66 % de la note finale.