0% ont trouvé ce document utile (0 vote)
32 vues46 pages

Introduction à Android Studio et développement mobile

Le document présente une introduction au développement d'applications mobiles avec Android, en détaillant l'architecture du système d'exploitation Android et les outils nécessaires comme Android Studio et le SDK. Il explique également la structure d'une application Android, les composants d'une activité, et les étapes pour créer et tester une application. Enfin, il aborde la gestion des ressources et l'utilisation de Gradle pour la construction de projets.

Transféré par

diarrassoubaa505
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues46 pages

Introduction à Android Studio et développement mobile

Le document présente une introduction au développement d'applications mobiles avec Android, en détaillant l'architecture du système d'exploitation Android et les outils nécessaires comme Android Studio et le SDK. Il explique également la structure d'une application Android, les composants d'une activité, et les étapes pour créer et tester une application. Enfin, il aborde la gestion des ressources et l'utilisation de Gradle pour la construction de projets.

Transféré par

diarrassoubaa505
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Développement

d'applications mobiles avec


Android
Dr Soumana FOMBA

FST-USTTB

Semestre 5

03/03/2025 [Link] 1
Chapitre 3: Introduction à la
plateforme Android Studio

03/03/2025 [Link] 2
Système d’exploitation
Android
 né en 2004,
 racheté par Google en 2005,
 publié en 2007, version 1.5,
 les dernières versions :
Version Nom de Version Date de sortie
Android 13 - 22
Android 12 - 2021
Android 11 - 2020
Android 10 - 3 sept. 2019
Android 9 Pie 9 août 2018
Android 8.1 Oreo 5 déc. 2017
Android 8.0 Oreo 21503/03/202
août 2017
[Link]
3
Qu’est-ce qu’Android

 Système d’exploitation complet pour mobiles (smartphones, tablettes,


voitures, télévisions, …) qui offre :
• Gestion matérielle : OS basé sur le noyau de Linux
• API : Application Programming Interface
• Applications : navigateur, courrier. . .
 Évolution et obsolescence très rapides
• Ce que vous allez apprendre sera rapidement dépassé (1 an)
− syntaxiquement (méthodes, classes, ressources... )
− mais pas les grands concepts (principes, organisation)
• Autoformation permanente, c’est le lot des informaticiens.

03/03/202
4
5 [Link]
Architecture d’Android
Plusieurs couches comme un système Unix : 4 niveaux

03/03/202
5
5 [Link]
Architecture d’Android

 Linux Kernel (Noyau Linux)


 Cœur du système Android, basé sur le noyau Linux.
 Assure la gestion de la mémoire, des processus, de l’alimentation et des
drivers matériels (écran, caméra, Wi-Fi, Bluetooth, etc.).
 Fournit des services système essentiels comme la gestion des fichiers et la
sécurité.
 Libraries & Android Runtime (Bibliothèques et Runtime Android)
 Bibliothèques natives (C/C++) : incluent SQLite (base de données), OpenGL
ES (graphismes 2D/3D), WebKit (navigateur), SSL (sécurité), Media Framework
(audio/vidéo), etc.
 Android Runtime (ART) : machine virtuelle qui exécute les applications
Android.

03/03/202
6
5 [Link]
Architecture d’Android

 Application Framework (Cadre d’application)


 Fournit des API et services pour les développeurs.
 Contient plusieurs gestionnaires essentiels :
 Activity Manager : gère le cycle de vie des applications.
 Content Providers : gèrent l’accès aux bases de données et aux fichiers partagés.
 Resource Manager : gère les ressources comme les images et les chaînes de texte.
 Location Manager : gère la géolocalisation.
 Notification Manager : gère les notifications.
 Package Manager : gère l’installation et la désinstallation des applications.

 Applications
 La couche la plus haute, utilisée par l’utilisateur final.
 Contient les applications système comme Contacts, Messages, Appareil photo,
ainsi que les applications tierces installées par l'utilisateur.

03/03/202
7
5 [Link]
Composants d’Android

Pour plus de renseignements sur l’architecture


d’Android, veuillez consulter
[Link]
[Link]/~dr/XPOSE2008/android/archi_comp.html

03/03/202
8
5 [Link]
Structures d’une application Android

 Une application Android est composée de :


• Sources Java (ou Kotlin) compilés pour une machine virtuelle
« Dalvik »(version 4.4) ou « ART(Android Runtime) » depuis la version 5
• Fichiers appelés ressources :
− format XML : interfaces, textes, menu. . .
− format PNG : icônes, images...
• Manifeste = description du contenu du logiciel, il contient :
− l’identifiant de l’application(nom du package principal)
− la version de l’application
− la version minimum du SDK pour pouvoir utiliser l’application
les demandes d’autorisations

− les différentes activités, en mentionnant l’activité principale.
 Cet ensemble est géré à l’aide d’un IDE appelé Android Studio qui
s’appuie sur le SDK Android.

03/03/202
9
5 [Link]
SDK et Android Studio

 Le SDK (Software Development Kit) contient :


• les librairies Java pour créer des logiciels
• AVD (Android Virtual Device) : un émulateur de
tablettes pour tester les applications
• ADB (Android Debug Bridge) : un outil de
communication avec les matériels réels (téléphone, ..)
 Android Studio offre :
• un éditeur de sources(java) et de ressources (interfaces,
string, ...)
• des outils de compilation : gradle
• des outils de test et de création d’apk (Android
PacKage) 03/03/202
10
5 [Link]
Outils à installer

Les principaux outils à installer sont :


 JDK (Java Development Kit)
 Android Studio
 SDK Android(Software Development Kit)

03/03/202
11
5 [Link]
Installation
 JDK (Java Development Kit)
• Contient le JRE
(Java Runtime Environment) : des outils
pour exécuter des applications Java
• Lien pour télécharger :
[Link]
va/javase/downloads/[Link]
 Android Studio
• Lien pour télécharger :
[Link]
• Une fois installé, on peut télécharger et
installer le SDK Android à travers Android
Studio
03/03/202
12
5 [Link]
SDK Manager

 C’est le gestionnaire du SDK, une application qui


permet de choisir les composants à installer et à
mettre à jour.
 Le gestionnaire permet de choisir les versions à
installer.
 Il faut choisir celles qui correspondent aux
matériels visés.
 L’élément obligatoire à installer dans une version
est:
 Android SDK Platform

03/03/202
13
5 [Link]
SDK Manager

03/03/202
14
5 [Link]
Dossier du SDK

 Le gestionnaire installe plusieurs Go dans différents


sous-dossiers :
• Tools : indispensable, contient le gestionnaire,
• Platform-tools : indispensable, contient adb,
• Platform : indispensable, contient les librairies,
• System images : pour créer des AVD,

03/03/202
15
5 [Link]
Configuration

 Dans les variables d’environnement du système,


ajouter ou éditer la variable JAVA_HOME, en y
mettant le chemin de votre JDK.

03/03/202
16
5 [Link]
Configuration

 Dans Android Studio, installer les suggestions


(mises à jour): FileProject Structure : Onglet
Suggestions.
 Dans Android Studio, spécifier le chemin du JDK
installé : FileProject Structure: Onglet SDK
Location

03/03/202
17
5 [Link]
Première application

 Android Studio contient un assistant de création


d’applications FileNewNew Project (Empty
Activity)

03/03/202
18
5 [Link]
Première application

03/03/202
19
5 [Link]
Première application

 Informations à renseigner
• Nom de l’application: HelloWord
• Nom du package principal: [Link]
• Chemin pour stocker le projet
• Langage à utiliser: Java (à la place Kotlin)
• Version minimum d’Android que doit avoir les
appareils devant utiliser l’application

03/03/202
20
5 [Link]
Résultat de l’assistant

03/03/202
21
5 [Link]
Résultat de l’assistant
 L’assistant crée de nombreux éléments visibles dans la
colonne de gauche de l’IDE :
• manifests : description et liste des classes de
l’application
• java : les sources, rangés par package,
• res : ressources = fichiers XML et images de l’interface :
−layout : interfaces
−menu : menus contextuels ou d’application
−mipmap et drawable : images, icônes de l’interface
−values : valeurs de configuration, textes. . .
• Gradle scripts : c’est l’outil de compilation du projet.
03/03/202
22
5 [Link]
Exécution de l’application

 On peut tester l’application sur un dispositif


virtuel (smartphone ou tablette).
 Pour cela, il faut installer un émulateur avec
l’assistant AVD Manager.

 Il faut choisir la catégorie (phone, tablet,..) et les


dimensions souhaitées.
 L’utilisation d’un émulateur nécessite l’activation
de VT-x (Virtualization Technology) dans le BIOS.

03/03/202
23
5 [Link]
Exécution de l’application

 On peut aussi tester l’application à travers un


dispositif réel(smartphone, tablette,..)
 Pour tester les applications avec un téléphone(ou
une tablette) réel il faut:
• accepter les Sources inconnues (dans les
Paramètres/Sécurité du téléphone)
• activer les Options pour les développeurs
(taper 7 fois sur Numéro Build dans A propos
du téléphone)
• activer le débogage par USB dans les Options
pour les développeurs

03/03/202
24
5 [Link]
Editeurs spécifiques

 Les ressources (interfaces, menus, textes…) sont


définies à l’aide de fichiers XML.
 Android Studio fournit des éditeurs spécialisés pour
ces fichiers, par exemple :
• Formulaires pour :
−res/values/[Link] : textes de l’interface.
• Éditeurs graphiques pour :
−res/layout/*.xml : l’interface.

03/03/202
25
5 [Link]
Exemple de layout en XML

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>

Notez le namespace(espace de noms) des éléments et le


préfixe de chaque attribut.

03/03/202
26
5 [Link]
Reconstruction du projet

 Chaque modification d’un code source ou d’une


ressource fait reconstruire le projet
automatiquement.
 On peut reconstruire manuellement à partir du
menu Build/Rebuild Project.
 Il est souvent nécessaire de nettoyer le projet
en cas de mauvaises compilations ou des mises
à jours : Build/Clean Project.
 Ces actions lancent l’exécution de Gradle.
 On peut aussi invalider le cache : File/Invalide
Caches / Restart 03/03/202
5 [Link]
27
Gradle

 Gradle est un outil de construction de projet comme


Ant ou Maven en Java.
 Gradle se sert de deux fichiers nommés [Link]
pour construire le projet.
 Un script [Link] pour le projet, contenant les
dépendances générales
 Un autre script [Link] pour l’application, pour
compiler l’application

03/03/202
28
5 [Link]
Récapitulatif

 Android : Un Système d’exploitation pour mobile


 Android Studio : IDE (environnement de
développement intégré)
 SDK : contient les outils nécessaires pour
développer des applications android
 Gradle : outil de reconstruction du projet
 Une application android contient:
 des sources java,
 ressources (interfaces, menu, texte,..)
 On peut tester les applications sur un dispositif virtuel
(AVD) ou réel (ADB). 03/03/202
29
5 [Link]
Chap 4: Les activités

03/03/202
30
5 [Link]
Qu’est-ce qu’une Activité ?

 L’interface d’une application Android est composée


d’écrans (ou de fenêtres).
 Chaque écran correspond à une Activité.
 Les pop-ups (boites de dialogue) ne sont pas des
activités. Ils se superposent à l’écran d’une Activité.
 Android permet de naviguer entre les Activités

03/03/202
31
5 [Link]
Exemple : application Contacts

 Il y a une première Activité qui affiche la liste des


contacts de l’utilisateur.
 Le click sur un contact permet de lancer une
nouvelle Activité contenant les détails de ce
contact.
 Le click sur le bouton Ajouter, permet de lancer une
autre Activité contenant un formulaire d’ajout d’un
nouveau contact.
 En étant dans une Activité, le bouton back permet de
retourner à l’activité précédente.

03/03/202
32
5 [Link]
Composants d’une Activité ?

Une activité est constituée du contexte de l'application


et d'une seule et unique interface graphique

Context : informations sur l'état actuel de l'application,


constitue un lien avec le système Android ainsi que les
autres activités de l'application. 03/03/202
5 [Link]
33
Etats d’une Activité ?

Quand une activité se lance, elle se met tout en haut de


ce qu'on appelle la pile d'activités.

03/03/202
34
5 [Link]
Etats d’une Activité ?

Une activité peut se trouver dans 4 états qui se différencient surtout


par leur visibilité :

Etat Visibilité Description


Active L'activité est visible l'activité est lancée par l'utilisateur, elle
(«active» ou en totalité. s'exécute au premier plan ;
«running»)
Suspendue L'activité est l'activité est lancée par l'utilisateur, elle
(«paused») partiellement s'exécute et est visible, mais elle n'est plus au
visible à l'écran premier plan. Une notification ou une autre
activité lui a volé le focus et une partie du
premier plan ;
Arrêtée L'activité est tout l'activité a été lancée par l'utilisateur, mais
(«stopped») simplement n'est plus au premier plan et est invisible.
invisible pour L'activité ne peut interagir avec l'utilisateur
l'utilisateur.
qu'avec une notification ;
Morte Invisible. Pas l'activité n'est pas lancée ou a été tuée!
lancée 03/03/202
35
5 [Link]
Cycle de vie d’une Activité ?

 Le cycle de vie indique


les différentes étapes
que va traverser une
activité pendant sa vie,
de sa naissance à sa
mort.
 Chaque étape est
représentée par une
méthode.

onSaveInstanceState()
Cycle de vie d’une activité

 Lorsque l’activité est lancée, le système Android


appelle les méthodes onCreate, onStart et
onResume.
 Lorsque l’activité s’arrête, le système Android
appelle les méthodes onPause, onStop et
onDestroy.
 Lorsque l’activité n’est plus au premier plan, mais
qu’elle est tout de même affichée, onPause est
appelée. Lorsque l’activité retourne au premier
plan, onResume est appelée.
 Lorsque l’activité n’est plus affichée, onPause et
onStop sont appelées. Lorsque l’activité est de
nouveau affichée, onRestart, onStart et onResume
sont appelées.
Cycle de vie d’une activité

 onSaveInstanceState est appelé lorsque le système


tue l’application afin de sauvegarder l’état de
l’activité. Cet état sera passé en paramètre à la
méthode onCreate, afin que vous puissiez restaurer
l’état de l’activité.
 Le système Android s’occupe lui-même de
sauvegarder et restaurer l’état des vues des layouts,
à condition que ces vues aient chacune un ID unique
dans le layout.
 Le changement de configuration comme le
changement d’orientation de l’écran provoque un
redémarrage de l’activité.
Création d’une Activité
 Pour créer une activité, on va créer une classe java et la faire
hériter de la classe Activity.
 On peut également faire hériter de la classe AppCompatActivity
qui hérite à son tour de la classe Activity.
 La méthode onCreate définit, entre autres, ce qui doit être
affiché sur l’écran.
 On peut aussi utiliser les autres méthodes onStart, onResume,...
selon le besoin.
 Ces méthodes sont automatiquement appelées par le système
android une fois le lancement de l’activité demarrée
 L’interface est mise en place par setContentView(identifiant de
ressource).
 La méthode findViewById( int idRessource) : permet de récupérer
un composant à partir de l’interface graphique
03/03/202
à travers son id.
39
5 [Link]
Exemple de création d’une Activité
 Le fichier res/layout/activity_hello.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/message"/>
</LinearLayout>

 La classe HelloActivity

public class HelloActivity extends AppCompatActivity {


TextView txtMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_hello); 03/03/202
40
5 [Link]
txtMessage=findViewById([Link]);
[Link]("Hello world !!!"); } }
Création d’une Activité
 @Override signifie que cette méthode redéfinie celle héritée de la
superclasse.
 Chaque Activité doit être déclarée dans [Link]

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="[Link]
package="[Link]">
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round«
android:theme="@style/[Link]">
<activity
android:name=".MonActivity />
</application>
</manifest>

03/03/202
41
5 [Link]
Démarrage d’une Activité
 Une seule Activité peut être démarrée automatiquement lors du
lancement de l’application.
 Dans ce cas, l’Activité doit être déclarée dans [Link]
comme suit:

<manifest …>
<application …>
<activity
android:name=".HelloActivity"
android:exported="true">
<intent-filter>
<action android:name="[Link]" />
<category android:name="[Link]" />
</intent-filter>
</activity>
</application>
</manifest>

 Un <intent-filter> déclare les conditions de démarrage


03/03/202
5 [Link]
42
d’une activité,
ici il dit que c’est l’activité principale.
Démarrage d’une Activité par programme

 Une Activité peut être démarrée par un


programme java, notamment par une autre
Activité.
 Dans ce cas, on utilise ce qu’on appelle des
Intents.
 Une Intent est une demande destinée à une
Activité.
 La méthode startActivity(intent) va lancer l’activité
MonActivite en appelant sa méthode onCreate()

03/03/202
43
5 [Link]
Exemple: Lancement d’une activité en java

Le fichier res/layout/activity_hello.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/message"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lancer une autre activité ici!"
android:id="@+id/bt_lancer"/>
</LinearLayout>
03/03/202
44
5 [Link]
Exemple: Lancement d’une activité en java
Le fichier [Link]

public class HelloActivity extends AppCompatActivity {


TextView txtMessage;
Button btLancer;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_hello);
txtMessage=findViewById([Link]);
btLancer=findViewById([Link].bt_lancer)
[Link]("Hello world !!!");

[Link](new [Link]() {
@Override
public void onClick(View view) {
Intent intent = new Intent([Link], [Link]);
startActivity(intent);
}
});
}
03/03/202
45
} 5 [Link]
Récapitulatif

 Une activité est composée d’une classe java qui hérite de


la classe Activity et d’une interface graphique
 Une activité peut se trouver dans 4 états (actif,
suspendu, arrêté, mort)
 Des méthodes (onCreate, onStart, onResume,..) sont
appelées lors du passage d’un état à un autre.
 Toutes les activités de l’application doivent être
déclarées dans [Link]
 Les Intents permettent de lancer une activité depuis un
code java.

03/03/202
46
5 [Link]

Vous aimerez peut-être aussi