0% ont trouvé ce document utile (0 vote)
2 vues10 pages

Introduction à la Programmation Android

Le document présente un plan pour le développement d'applications mobiles sur Android, incluant l'introduction à la programmation mobile, l'environnement de développement, et le cycle de vie d'une activité. Il aborde également des éléments clés tels que les interfaces graphiques, les intents, la persistance des données, et la gestion des capteurs. Enfin, il décrit la structure d'un projet Android, y compris le fichier AndroidManifest.xml et les composants d'une application.

Transféré par

csas.net.net
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)
2 vues10 pages

Introduction à la Programmation Android

Le document présente un plan pour le développement d'applications mobiles sur Android, incluant l'introduction à la programmation mobile, l'environnement de développement, et le cycle de vie d'une activité. Il aborde également des éléments clés tels que les interfaces graphiques, les intents, la persistance des données, et la gestion des capteurs. Enfin, il décrit la structure d'un projet Android, y compris le fichier AndroidManifest.xml et les composants d'une application.

Transféré par

csas.net.net
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

PLAN Environnement de Développement

• 1. Introduction programmation mobile (Android)  On peut développer sur Android sous Linux, Windows et MacOS avec :
 Eclipse + un plugin;
• 2. Environnement de Développement  Android-Studio.

• 3. Cycle de Vie d’une Activité  Ces deux solutions utilisent le SDK d’Android qui contient :
 Les librairies Java d’Android ;
• 4. Interfaces graphiques  Des outils de développement ;
 un émulateur pour tester vos applications ;
• 5. Les Intents
 des images du système Android...
• 6. Persistance des données  Il n’est pas nécessaire de télécharger le SDK séparément si on va utiliser
Android Studio.
• 7. Capteurs sous Android

• 8. Programmation Concurrente

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 41 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 42

Environnement de Développement 1/2 (Obsolete ) Environnement de Développement 2/2

Android SDK

SDK Tools

IDE Eclipse Android Studio Application


Application Android
Android
Android ADT

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 43 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 44
Environnement de Développement : Android Studio Environnement de Développement : Android Studio

 Depuis mi-2015, il est recommandé d’utiliser Android Studio (l'intégration de


fonctionnalités de développement Android).
 Avantages:
 Meilleure intégration du SDK dans Android Studio
 Puissance de l'IDE IntelliJ
 Meilleure gestion des dépendances avec gradle

 Pour installer Android Studio :


 Télécharger le logiciel via le site d’Android ;
 Extraire l’archive dans un répertoire ;
 (Linux) Exécuter le fichier [Link] du répertoire bin / (windows) Lancer le fichier
exécutable exe ;
 À son premier démarrage, Android Studio :
 Télécharge le sdk ;
 Va vous proposer de configurer une machine virtuelle.
2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 45 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 46

Environnement de Développement : Android SDK Environnement de Développement : AVD Manager

 Vous pouvez exécuter Android SDK Manager, en lançant l’exécutable android qui se trouve dans le  Pour tester un programme sur votre ordinateur, il sera également nécessaire de créer une
répertoire tools du SDK : machine virtuelle à l’aide de l’AVD Manager :

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 47 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 48
Environnement de Développement : Emulateur Environnement de Développement : SmartPhone

 L’émulateur vous permet de tester votre application :


 Votre SmartPhone vous permet de tester votre application (en activant l’options de développement) :

 Les ROMs Intel permettent de bénéficier de l’accélération matérielle.

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 49 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 50

Environnement de Développement : Nouveau Projet Environnement de Développement : Nouveau Projet

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 51 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 52
Environnement de Développement : Architecture d’un projet Environnement de Développement : [Link]

Fichier de contrôle de l’application,


décrivant sa nature, ses composants et  [Link] est le fichier de configuration XML de l’application.
les permissions associées Code source Java des
applications  Il ne doit pas être renommer, ni déplacer
 C’est un fichier indispensable à chaque application qui décrit entre autres :
Ressources utilisées par l’application
 le point d’entrée de votre application (quel code doit être exécuté au démarrage de
Images (PNG, JPEG ou GIF) et l’application) ;
fichiers XML décrivant les formes
Fichiers XML représentant l’interface  Le nom de l’application, son icone, son package (l’identifiant unique sur le Play
d’une page ou d’une partie de page de Store)
votre application
 Définit les composants qui constituent ce programme ;
 les permissions nécessaires à l’exécution du programme :
Dossier contenant les fichiers
Des fichiers de configuration: décrivant des valeurs utilisées  Les permissions matérielles (accès à l’appareil photo, GPS, ...).
- [Link] (2 instances): règles de dans l’application. Ex : [Link]  Les permissions d’interactions entre les applications (accès à Internet, répertoire
dépendance et de compilation pour les chaînes, [Link] pour
- [Link]: liste de toutes les les tableaux…
téléphoniques, galerie des photos…)
applications à compiler (si plusieurs)

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 53 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 54

Environnement de Développement : [Link] Environnement de Développement : [Link]

 Le fichier [Link] déclare lʹensemble des éléments de lʹapplication.


 <application> : un seul et unique noeud application <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=[Link] package="[Link]">
 <uses-permission> : l’utilisateur se verra demander l’autorisation d’utiliser l’ensemble
<uses-permission android:name="[Link]"></uses-permission>
des fonctions liées à ces permissions <uses-sdk android:minSdkVersion="15"></uses-sdk>
 <activity> : Déclare une activité présentée à l’utilisateur <application
 <service> : Déclare un composant de l’application en tant que service. android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
 <receiver> : Déclare un récepteur d’objets Intent. Cet élément permet à l’application de android:label="@string/app_name"
recevoir ces objets alors qu’ils sont diffusés par d’autres applications ou par le android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
système. android:theme="@style/AppTheme">
 <provider> : Déclare un fournisseur de contenu qui permettra d’accéder aux données <activity android:name=".SecondActivity" android:exported="false" />
gérées par l’application.
<activity android:name=".MainActivity" android:exported="true">
<intent-filter>
<action android:name="[Link]" />
<category android:name="[Link]" />
</intent-filter>
</activity>
</application>
</manifest>
2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 55 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 56
Environnement de Développement : [Link] Environnement de Développement : [Link]

import [Link];

import [Link];
import [Link];

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);

setContentView([Link].activity_main);

[Link](this, "application crée", Toast.LENGTH_SHORT).show();


}

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 57 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 58

Environnement de Développement : [Link] Environnement de Développement : Exemple d’application

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


<LinearLayout xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
android:textColor="#ff0000"
android:text="Hello ISIMa!"/>

</LinearLayout>

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 59 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 60
Architecture d'une application Android Développement d’une application

Application
Activités

Vues qui composent l’activité :


(image view, TextView, EditText,
videoView, etc

Fichier de configuration (manifeste)


Détient la composition de l’application
(activités, permissions, mécanismes liés aux intentions)

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 61 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 62

PLAN Présentation d’une Activité

• 1. Introduction programmation mobile (Android)  Une activité est un composant d’une application qui fournit un écran avec lequel
l’utilisateur peut interagir.
• 2. Environnement de Développement  Une application contient plusieurs activités
 Une activité = Contexte + une Interface graphique
• 3. Cycle de Vie d’une Activité

• 4. Interfaces graphiques  Question : que se passe-t-il si on reçoit un SMS alors que l’utilisateur manipule
l’application mobile?
• 5. Les Intents  L’activité de l’application mobile passe d’un état à un autre.

• 6. Persistance des données

• 7. Capteurs sous Android


C’est le Cycle de Vie d’une Activité
• 8. Programmation Concurrente

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 63 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 64
Cycle de Vie d’une Activité Cycle de Vie d’une Activité

 Les activités d’une application ont un cycle de vie  Les activités dans une application sont gérées sous forme de Pile
 Un début quand Android les instancie pour répondre aux Intents  Quand une nouvelle activité démarre, elle est placée en haut de la pile et devient
 Une fin quand les instances sont détruites l’activité en exécution
 Entre les deux, où ils peuvent être:  L’ activité précédente reste en dessous dans la pile,
 Visibles ou invisibles  L’ activité précédente ne revient au premier plan que si la nouvelle activité est
 Actifs ou inactifs fermée
 Si l’utilisateur clique sur le bouton Retour du téléphone l’activité suivante
dans la pile (l’ activité précédente ) devient active

Vie d’une Application :


Début Actif/Inactif Fin
Visible/Invisible

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 65 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 66

Cycle de Vie d’une Activité Cycle de Vie d’une Activité

Nouvelle Activité Activité en Exécution


 Active ou en Exécution
 Elle est au premier plan de l’écran (donc en haut de la pile)
Nouvelle Activité Appui sur le bouton
Retour ou activité fermée  C’est l’activité ciblée par les actions de l’utilisateur
démarrée
 En Pause
Dernière Activité Exécutée  A perdu le focus, mais est encore partiellement visible
 Une autre activité est en haut de la pile, mais elle est soit transparente, soit ne
Activité n-1 couvre pas tout l’écran
Activité n-2  Arrêtée
 Complètement recouverte par une autre activité
……..  Ses informations sont encore chargées, mais elle n’est plus visible
Supprimer pour  Peut être détruite par le système s’il est besoin de mémoire
Activité 2 libérer des ressources

Activité 1

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 67 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 68
Cycle de Vie d’une Activité Cycle de Vie d’une Activité

 Quand une activité passe d’un état à un autre, le framework Android appelle les
méthodes de transition correspondantes :
 void onCreate (Bundle savedInstanceState) : obligatoire
 void onStart ()
 void onResume ()
 void onRestart ()
 void onPause () : recommandée
 void onStop ()
 void onDestroy ()

 Quand l’utilisateur reçoit un appel téléphonique, l’activité courante passe dans l’état
OnPause ensuite, Stopped, lorsque l’appel téléphonique est terminé, cette activité
revient dans Started puis Resumed.

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 69 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 70

Cycle de Vie d’une Activité Cycle de Vie d’une Activité

 onCreate
 Appelée à la création d’une activité
 Initialisation de tous les éléments
 onResume
 Un bundle est passé à cette méthode, contenant l’état
 Appelée juste avant que l’activité ne commence a
précédent de l’activité
interagir avec l’utilisateur
 Toujours suivie de onStart
 A ce point, l’activité est en haut de la pile
 L'instruction setContentView ( [Link].activity_main );
 Toujours suivie de onPause
permet d'affecter l'interface graphique à l'activité qui
est décrite dans le fichier activity_main.xml.

 onStart
 Appelée juste avant que l’activité ne devienne visible
 Suivie de
 onResume si l’activité revient en premier plan

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 71 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 72
Cycle de Vie d’une Activité Cycle de Vie d’une Activité

 onPause
 Appelée quand le système va démarrer une autre
 Activity running activité
 L’application est en exécution  Utilisée typiquement pour :
 L’utilisateur est actuellement en interaction avec  Enregistrer les données non sauvegardées
l’application  Arrêtées les animations ou tout ce qui
 Lorsqu’un évènement externe arrive l’activité consomme de la mémoire...
bascule vers l’état onPause  Ne doit pas consommer beaucoup de temps, car
l’activité suivante ne va démarrer que si cette
méthode prend fin,
 Suivie de :
 onResume si l’activité est rechargée en premier
plan
 onStop si l’activité devient invisible. Dans cet
état, l’activité peut être détruite par le système
2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 73 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 74

Cycle de Vie d’une Activité Cycle de Vie d’une Activité

 onRestart
 onStop  Appelée quand l’activité va redémarrer après avoir été
 Appelée quand l’activité n’est plus visible à
stoppée
l’utilisateur  Toujours suivie de onStart
 Peut arriver si:
 onDestroy
 L’activité est détruite
 Appelée quand l’activité est détruite
 Une autre activité a repris son exécution et l’a
 Dernier appel que l’activité va recevoir
recouverte
 Peut intervenir si:
 Suivie par:
 onRestart si l’activité recommence à interagir avec  L’ activité se termine (appel de finish)
l’utilisateur  Le système détruit temporairement cette instance
 onDestroy si l’activité va disparaître de l’activité pour gagner de l’espace
 Dans cet état, l’activité peut être détruite par le  On peut distinguer entre ces deux scénarios avec la
système méthode isFinishing()
 Dans cet état, l’activité peut être détruite par le
système
2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 75 2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 76
Cycle de Vie d’une Activité : Sauvegarde et Restauration du Contexte

 Il faudra personnaliser ces deux méthodes pour sauvegarder et restaurer les données.

@Override
protected void onSaveInstanceState(Bundle outState) {
[Link](outState);
}

@Override
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
[Link](savedInstanceState);
}

2025/2026 Programmation Mobile-Android- -- FSM - LGLSI3 -- Enseignant : Soufien GDAIM 77

Vous aimerez peut-être aussi