Vous êtes sur la page 1sur 38

Programmation mobile avec Android

Pr. Imad Zeroual

Faculté des Sciences et Techniques – Errachidia / 2023-2024


Chapitre 1 :

01 Introduction à Android

02 Installation d’Android Studio

03 Introduction à Android Studio

04 Cycle de vie de l'activité


19/10/2023
01 Introduction à Android

Qu'est-ce qu'Android ?

✓ Android est un système d'exploitation mobile basé sur une version modifiée de Linux.

✓ Android a été initialement développé par Android Inc.

✓ Google a acheté Android en 2005.

✓ 2008, le code d’Android est open source (un système d'exploitation libre sous licence
Apache), un SDK est distribué gratuitement.

✓ En 2022, Android est le système d'exploitation mobile le plus utilisé dans le monde,
contrôlant le marché des SE mobiles avec une part de 70%.

Pr. Imad Zeroual


3
19/10/2023
01 Introduction à Android

Versions d’Android

2007

Or

O P 2018
eo

En 2019 et après tant d’effort pour trouver des pâtisseries et autres


friandises pour les lettres de A à P, Google abandonne la
numérotation des versions avec des noms de desserts pour plus de
Logo d'Android
à partir de 2019. clarté et de diversité. Android Q est donc Android 10. La version
actuel, sortie le 15 août 2022, est Android 13. Pr. Imad Zeroual
4
19/10/2023
01 Introduction à Android

Fonctionnalités d'Android
Connectivité
Stockage

Capteurs

Messagerie Multimédia

Pr. Imad Zeroual


5
19/10/2023
01 Introduction à Android

Architecture d'Android

L'architecture Android comprend cinq niveaux :


Le noyau Linux
Le noyau Linux est la couche la plus basse et la partie
centrale de l'architecture Android. Il fournit des
fonctionnalités telles que :

▪ Sécurité
▪ La gestion des processus
▪ Gestion de la mémoire
▪ Gestion d'appareils
▪ Multitâche

Il se compose également de pilotes de périphériques


tels que l'appareil photo, la mémoire flash, l'écran, le
clavier, le Wifi, etc.
Pr. Imad Zeroual
6
19/10/2023
01 Introduction à Android

Architecture d'Android

L'architecture Android comprend cinq niveaux :


Les bibliothèques
Cette couche gère les données spécifiques au
matériel. La plupart des bibliothèques sont open
source et écrites en C/C++. Certaines des
bibliothèques natives sont :

▪ SSL
▪ SQLite
▪ Libc
▪ OpenGL
▪ Media framework
▪ FreeType
▪ Surface Manager

Pr. Imad Zeroual


7
19/10/2023
01 Introduction à Android

Architecture d'Android

L'architecture Android comprend cinq niveaux :


Android runtime (ART)
▪ Il comprend DVM (Dalvik Virtual Machine). Tout comme
JAVA utilise JVM, Android utilise DVM pour optimiser la
durée de vie de la batterie, la mémoire et les
performances. Le code d'octet généré par le compilateur
Java doit être converti en fichier .dex par DVM, car il a son
propre code d'octet.

▪ Dans la version majeure d'Android qui a suivi, Android 5.0


"Lollipop", Dalvik a été entièrement remplacé par ART.

▪ DVM convertit le byte code (.java → .class → .dex) chaque


fois que vous lancez une application spécifique. ART le
convertit une seule fois au moment de l'installation de
l'application. Cela facilite l'exécution du processeur.
Pr. Imad Zeroual
8
19/10/2023
01 Introduction à Android

Architecture d'Android

L'architecture Android comprend cinq niveaux :


Application Framework
Le cadre d'application construit au-dessus de la
couche de bibliothèques natives et fournit une
interface de programmation d'application et des
services de niveau supérieur comme :
▪ Gestionnaire d'activité : utilise des méthodes de test et de
débogage.
▪ Fournisseur de contenu : fournit des données de l'application
à d'autres couches.
▪ Gestionnaire de ressources : donne accès à des ressources
non codées.
▪ Gestionnaire de notifications : notifie les utilisateurs sur
toutes les actions qui se produisent en arrière-plan.
▪ View System : agit comme une classe de base pour les widgets
et il est responsable de la gestion des événements. Pr. Imad Zeroual
9
19/10/2023
01 Introduction à Android

Architecture d'Android

L'architecture Android comprend cinq niveaux :


Applications
Cette couche se compose d'applications Android
natives et d'applications installées à partir de l'App
Store ou de tiers. Ils sont regroupés dans un package
Android, telles que :

▪ Les contacts
▪ Les jeux
▪ Les paramètres
▪ Les navigateurs

Pr. Imad Zeroual


10
19/10/2023
01 Introduction à Android

Appareils Android

Les Appareils Android sur le marché sont de toutes formes et tailles et incluent :

Smartphones E-readers Consoles

Tablettes Smart TVs SmartWatch

Pr. Imad Zeroual


11
19/10/2023
02 Installation d’Android Studio

Installation de JDK

✓ En installant le JDK (Java Development Kit), nous installons essentiellement Java qui est principalement le
langage de programmation utilisé pour programmer des applications Android.

✓ Le JDK est un environnement de développement permettant de créer et exécuter des applications, des
applets et des composants à l'aide du langage de programmation Java.

✓ Essayez de télécharger et d'obtenir la dernière version du JDK qui convient à votre système d'exploitation
spécifique et installez-la.

✓ Installer le JDK avant d’installer l’Android studio.

✓ Le lien de téléchargement du JDK :

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Pr. Imad Zeroual


12
19/10/2023
02 Installation d’Android Studio

Installation d’Android Studio

✓ La page de téléchargement vous fournit automatiquement https://developer.android.com/studio


la version qui convient à votre système en cours
d'exécution (exemple: Windows 64 bits).

✓ Si vous cherchez d'autres versions à télécharger, descendez


un peu et vous pouvez choisir le fichier du système
d'exploitation spécifique que vous souhaitez télécharger.

✓ Téléchargez et installez la dernière version du Android


Studio, surtout si vous comptez travailler avec la dernière
version d'Android.

Pr. Imad Zeroual


13
19/10/2023
02 Installation d’Android Studio

Installation d’Android Studio

Exigences du système d'exploitation : https://developer.android.com/studio

✓ 4 Go de RAM minimum, 8 Go de RAM


recommandés (plus 1 Go pour l'émulateur
Android).

✓ 2 Go d'espace disque disponible minimum,


4 Go recommandés (500 Mo pour l'IDE plus
1,5 Go pour le SDK Android et l'image
système de l'émulateur).

✓ Résolution d'écran minimale de 1280 x 800.

Pr. Imad Zeroual


14
19/10/2023
02 Installation d’Android Studio

Installation d’Android Studio

Conservez le paramètre par défaut et cliquez sur Installer

Pr. Imad Zeroual


15
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

La première fois qu'Android Studio s'exécute, il présente une boîte de dialogue Installation complète qui offre
la possibilité d'importer les paramètres d'une installation précédente.

Pr. Imad Zeroual


16
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

Android Studio va télécharger tous les composants du SDK nécessaires et disponibles.

Pr. Imad Zeroual


17
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

Android Studio va ensuite identifie les composants SDK qui seront téléchargés. En cliquant sur Terminer,
Android Studio commencera le processus de téléchargement des composants du SDK qui peut prendre
plusieurs minutes en fonction de la vitesse de votre connexion Internet.

Pr. Imad Zeroual


18
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

Enfin, la boîte de dialogue Bienvenue dans Android Studio apparaît.

Pr. Imad Zeroual


19
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

En cliquant sur « Configuration » puis le « SDK manager », le gestionnaire SDK s'ouvrira.

Pr. Imad Zeroual Ensuite, cocher « Show package details » pour Afficher les détails du package.
20
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

✓ La version installée est Android 11 (R).

✓ Au moins une plateforme SDK est installée


pour chaque version d'Android, ce qui
signifie que nous pouvons programmer
pour cette version d'Android.

✓ L'image système est une image d'un


périphérique virtuel (Smartphone, TV,
etc), c'est-à-dire le téléphone virtuel qui
va être s’émuler par votre ordinateur.

✓ Mais ce n'est pas nécessaire si vous


utilisez votre propre smartphone pour
lancer et tester vos applications
développées. Pr. Imad Zeroual
21
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

Remarque :

Si vous avez planifié de développer des


applications pour une version d’Android
particulière donc vous devez cocher :

✓ Le SDK plateforme de même version ;

✓ Ses sources ;

✓ Google APIs ;

✓ Si vous voulez d’utiliser l’émulateur, donc,


vous devez cocher l’image de téléphone
virtuel et surtout celle de Google Play.

Pr. Imad Zeroual


22
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

SDK Tools :

C’est mieux d’installer tous les « SDK


tools », sinon vous devez au moins
installer les outils suivants :

▪ Android SDK Build-Tools ;


▪ Android Emulator ;
▪ Android SDK Platform-Tools
▪ Android SDK Tools
▪ Google Play services
▪ Intel x86 Emulator Accelerator (HAXM
installer)

Pr. Imad Zeroual


23
19/10/2023
02 Installation d’Android Studio

Exécution d’Android Studio

Après avoir installé les plates-formes et les outils


SDK nécessaires et que toutes les mises à jour sont
terminées, vous pouvez créer votre premier
projet.

Pr. Imad Zeroual


24
19/10/2023
03 Introduction à Android Studio

Modèle de projet

Contrairement aux versions précédentes


d'Android studio, la récente demande
d'abord de choisir un modèle de projet avec
lequel nous voulons commencer.
Cela comprend 5 catégories principales :
▪ Téléphone et Tablette
▪ Wear OS (par exemple, Smartwatches)
▪ Android TV
▪ Automobile
▪ Android Things (Internet des objets)

Chaque catégorie comprend un nombre des


temples d'activités prédéfinies.
Pr. Imad Zeroual
25
19/10/2023
03 Introduction à Android Studio

Modèle de projet

Durant ce cours, nous allons travailler avec la


catégorie «Phone and Tablet», et le modèle
d'activité vide «Empty Activity» est celui que
nous allons le plus utiliser.

Pr. Imad Zeroual


26
19/10/2023
03 Introduction à Android Studio

Configuration de projet

▪ Name :
Le nom de votre application que vous pouvez le modifier
plus tard.
▪ Package name :
Chaque application sur «Google Play Store» doit avoir
un nom de package unique. Par conséquent :
• Si vous avez un nom de domaine, vous pouvez
l'utiliser pour vous assurer que le nom de votre
package est définitivement unique.
• Si vous n'avez pas de nom de domaine, vous
pouvez simplement commencer à taper peut-être
votre nom de famille et quelques autres
caractères.
Pr. Imad Zeroual
27
19/10/2023
03 Introduction à Android Studio

Configuration de projet

▪ Save location :
L’endroit où vous voulez enregistrer votre projet.

▪ Language :
Android Studio propose par défaut deux langages :
• Java : le langage natif utilisé par Android.
• Kotlin : un langage nouvellement créé qui s'inspire
de Java, mais c'est une version améliorée de celui-
ci avec tant de fonctionnalités supplémentaires. Il
est propre, relativement simple et comporte moins
de formalités et de règles que Java.

Pr. Imad Zeroual


28
19/10/2023
03 Introduction à Android Studio

Configuration de projet

▪ Minimun SDK :
La version SDK minimale détermine le niveau le plus bas
d'Android sur lequel votre application fonctionnera. En
d'autres termes, sélectionnez les appareils que vous
ciblerez avec cette application.

Android Studio vous donnera ensuite une approximation


des appareils sur lesquels votre application peut
fonctionner correctement.

Finalement vous cliquez sur « Finish » pour terminer


votre configuration de votre projet, et vous attendez que
le Android Studio construise ce projet.

Pr. Imad Zeroual


29
19/10/2023
03 Introduction à Android Studio

Structure du projet

Le projet crée se compose principalement de :

▪ App :
La racine de l’arborescence d’une projet
Android.

Pr. Imad Zeroual


30
19/10/2023
03 Introduction à Android Studio

Structure du projet

Le projet crée se compose principalement de :

▪ App → Manifests :
Contient le fichier Androidmanifest.xml qui
est le fichier de configuration de la
application où on peut par exemple nommer
l’application et le package.

Pr. Imad Zeroual


31
19/10/2023
03 Introduction à Android Studio

Structure du projet

Le projet crée se compose principalement de :

▪ App → Java :
Dossier contenant les sources de l’application
coder en java. Par exemple : le code source
«MainActivity.java» de l’activité vide «Empty
Activity» que nous avons choisi durant la
création de ce projet.

Pr. Imad Zeroual


32
19/10/2023
03 Introduction à Android Studio

Structure du projet

Le projet crée se compose principalement de :

▪ App → Res :
Dossier contenant les ressources statiques de
l’application :

• drawable : contient les images


• layout: les interfaces graphiques
• mipmap: Icones de l’application
• values : variables statiques
o colors: code de couleurs
o strings: textes statiques
o themes : thèmes de l’application

Pr. Imad Zeroual


33
19/10/2023
03 Introduction à Android Studio

Structure du projet

Le projet crée se compose principalement de :

▪ Gradle :
• Outil de gestion, d’intégration et de
génération d’application Android.
• Déclare et exécute les taches nécessaires
à l’exécution d’application Android.
• Permet de développer des applications
multiplateforme et multi-projet.

Pr. Imad Zeroual


34
19/10/2023
03 Introduction à Android Studio

Android Virtual Device (AVD)

Un appareil virtuel Android (AVD) est une


configuration qui définit les caractéristiques
d'un téléphone ou d'une tablette que vous
souhaitez simuler dans l'émulateur Android.

Pour créer et gérer des AVD, nous utilisons


AVD Manager.

Vous trouvez les appareil virtuel déjà installés


avec ses caractéristiques.

Sinon vous pouvez télécharger et installez les


images des appareils souhaitées.

Pr. Imad Zeroual


35
19/10/2023
04 Cycle de vie de l'activité

Une activité sous Android

Une activité est la composante principale d'une


application sous Android. L'activité est le métier de
l'application et possède généralement une Vue
(View) au minimum, c'est-à-dire un écran graphique.
En analogie avec le monde des applications web, on
peut dire qu'elle est une page web. Elle représente
une chose que l'utilisateur peut faire à un moment
donné.
Les activités sont gérées dans une pile d'activités.
Chaque fois où une nouvelle activité est lancée, elle
arrive à la première position de la pile et devient
l'activité qui est actuellement exécutée. L'activité
précédente reste dans la pile et ne pourra pas être
lancée une fois la première activité est terminée.

Pr. Imad Zeroual


36
19/10/2023
04 Cycle de vie de l'activité

Différents états d'une activité

L'activité est représentée par la classe Activity dont 7 méthodes


illustrent le cycle de vie qu'elle peut prendre :
▪ onCreate : la méthode d'initialisation des vues, des paramètres et
d'autres données.
▪ onStart : appelée quand l'activité est rendue visible à l'utilisateur.
▪ onResume : appelée quand l'activité commence à interagir avec
l'utilisateur.
▪ onPause : méthode qui sert à arrêter une activité temporairement.
▪ onStop : cette fonction est utilisée quand l'activité n'est plus visible à
l'utilisateur. Elle est cachée soit à cause d'une nouvelle activité lancée,
soit parce que l'activité en cours s'apprête à être détruite.
▪ onRestart : appelée à un nouveau démarrage de la même activité
(quand l'activité était arrêtée)
▪ onDestroy : est invoquée quand l'activité est détruite. La destruction
opère quand quelqu'un appelle la méthode finish() ou quand c'est le
système qui décide de tuer l'activité pour économiser de l'espace.
Pr. Imad Zeroual
37
19/10/2023
04 Cycle de vie de l'activité

Différents états d'une activité

Exemple :
onCreate onCreate onCreate

onStart onStart onStart

onResume onResume onResume

onPause onPause onPause

onStop onStop onStop

onRestart onRestart onRestart

onDestroy onDestroy onDestroy

Pr. Imad Zeroual


38

Vous aimerez peut-être aussi