Vous êtes sur la page 1sur 135

Plan de cours

1) Introduction
2) L'architecture générale d'Android
3) Les outils de développement d'Android
4) L'architecture basique d'une application Android
5) Les Composants d’une application Android
6) L'interface graphique & Evénements
7) Les intents (La communication entre les composants)
8) Exercice récapitulatif
9) Le déploiement d'une application Android
1. Introduction

 Qu'est-ce que Android?


 D'où vient le nom Android?
 Le logo d'android
 L'histoire et la chronologie d'Android
 Les avantages d'Android
 Des statistiques sur L’OS android
Qu'est-ce que Android?

Enseignant: Mouad OUISSE / Version 0.1 5


 Qu'est-ce que Android?
Android est un système d'exploitation open source
basé sur Linux pour :

Enseignant: Mouad OUISSE / Version 0.1 6


 Qu'est-ce que Android?

Enseignant: Mouad OUISSE / Version 0.1 7


 Qu'est-ce que Android?

La programmation Android est basée sur le langage de


programmation:

Enseignant: Mouad OUISSE / Version 0.1 8


D'où vient le nom Android?

Enseignant: Mouad OUISSE / Version 0.1 9


 D'où vient le nom Android?

En science-fiction, un androide est un robot construit


à l'image d'un être humain

Enseignant: Mouad OUISSE / Version 0.1 10


Le logo Android

Enseignant: Mouad OUISSE / Version 0.1 11


 Le logo Android
Selon le site "Engadget" le logo Android viendrait
d’un jeu des années 90 sur Atari Lynx : Gauntlet:
The Third Encounter.

Enseignant: Mouad OUISSE / Version 0.1 12


L'histoire et la chronologie d'Android

Enseignant: Mouad OUISSE / Version 0.1 13


 L'histoire d'Android

Octobre Juillet Novembre Depuis


2003 2005 2007 2008

Enseignant: Mouad OUISSE / Version 0.1 14


 la chronologie des versions d'Android
Android Android Android Android Android Android Android
Cupcake Donut Éclair Froyo Gingerbread Honeycomb Ice Cream
API 3 API 4 API 5,6,7 API 8 API 9,10 API Sandwich
11,12,13 API 14,15

Enseignant: Mouad OUISSE / Version 0.1 15


 la chronologie des versions d'Android
Android Android Android Android Android Android
Marshmallow
Jelly Bean KitKat Lollipop Nougat Oreo
API API 19,20 API 21,22 API 23 API 24,25 API 26
16,17,18

Enseignant: Mouad OUISSE / Version 0.1 16


 la chronologie des versions d'Android
Depuis 2015 : lors de la conférence Google I/O google
lance l'OS Android Things qui offre une nouvelle
déclinaison destinée aux objets connectés.

Enseignant: Mouad OUISSE / Version 0.1 17


Les avantages d'Android

Enseignant: Mouad OUISSE / Version 0.1 18


 Les avantages d'Android

Open source Gratuit (ou presque)

Facile à développer Facile à vendre

Flexible Complémentaire

Enseignant: Mouad OUISSE / Version 0.1 19


Des statistiques sur L’OS Android

Enseignant: Mouad OUISSE / Version 0.1 20


 Des statistiques sur L’OS Android

Enseignant: Mouad OUISSE / Version 0.1 21


 Des statistiques sur L’OS android

Enseignant: Mouad OUISSE / Version 0.1 22


 Des statistiques sur L’OS android

Enseignant: Mouad OUISSE / Version 0.1 23


L'architecture générale d'Android

Enseignant: Mouad OUISSE / Version 0.1 24


2. L'architecture générale d'Android

 La couche Applications
 La couche Application Framework
 La couche Libraries
 La couche Android Runtime
 La couche Linux Kernel

Enseignant: Mouad OUISSE / Version 0.1 25


Enseignant: Mouad OUISSE / Version 0.1 26
La couche Android Runtime

Enseignant: Mouad OUISSE / Version 0.1 27


 La couche Android Runtime

Enseignant: Mouad OUISSE / Version 0.1 28


 La couche Android Runtime

Enseignant: Mouad OUISSE / Version 0.1 29


 La couche Android Runtime

Enseignant: Mouad OUISSE / Version 0.1 30


 La couche Android Runtime

A partir de Lollipop, Android dispose d'ART


qui compile l'application au moment du
déploiement (Ahead-of-time compilation)

Enseignant: Mouad OUISSE / Version 0.1 31


 La couche Android Runtime

Enseignant: Mouad OUISSE / Version 0.1 32


Les outils de développement d'Android

Enseignant: Mouad OUISSE / Version 0.1 33


3. Les outils de développement d'Android

 Les conditions initiales


 Le Java Development Kit (JDK)
 Android Studio et le SDK Android
 Votre 1ère application «Hello World»
 Tester votre application sur un emulateur
 Tester l’application sur votre smartphone

Enseignant: Mouad OUISSE / Version 0.1 34


 Les conditions initiales

 Windows 7/8/10 (32 ou 64 bits)


 3 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é (500 Mo pour IDE + 1,5 Go pour Android
SDK et l'image du système d'émulation)
 Résolution d'écran minimale de 1280 x 800

Enseignant: Mouad OUISSE / Version 0.1 35


Java developement kit (JDK)

Enseignant: Mouad OUISSE / Version 0.1 36


 Le java Developement Kit (JDK)

Un petit rappel. Il existe deux plateformes en Java :


 Le JRE (Java Runtime Environment) : qui contient la
JVM (Java Virtual Machine), c'est l'ensemble d'outils
qui vous permettra d’exécuter des applications Java.
 Le JDK (Java Development Kit) : qui contient le JRE
(afin d’exécuter les applications Java), mais aussi un
ensemble d'outils pour compiler et déboguer votre
code.
Enseignant: Mouad OUISSE / Version 0.1 37
Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 38


 Android Studio et le SDK Android

Android Studio : est un environnement de


développement pour développer des applications
Android. Il est basé sur IntelliJ IDEA (IntelliJ IDEA est un
IDE Java commercial développé par JetBrains. Il est
fréquemment appelé par le simple nom d’" IntelliJ",
"IDEA" ou "IDJ").

Enseignant: Mouad OUISSE / Version 0.1 39


 Android Studio et le SDK Android

Le SDK (le kit de développement d'Android) : est un


ensemble complet d'outils de développement. Il inclut
un débogueur, des bibliothèques logicielles, un
émulateur, des exemples de code et des tutoriaux...
L'IDE officiellement supporté était Eclipse combiné au
plugin d'outils de développement d'Android (ADT),
mais depuis 2015, Google officialise Android Studio qui
devient alors l'IDE officiel pour le SDK Android.
Enseignant: Mouad OUISSE / Version 0.1 40
 Android Studio et le SDK Android

Vous pourrez télécharger Android studio et


le SDK à partir de cette page :
https://developer.android.com/studio/index.html

Enseignant: Mouad OUISSE / Version 0.1 41


 Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 42


 Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 43


 Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 44


 Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 45


 Android Studio et le SDK Android

Enseignant: Mouad OUISSE / Version 0.1 46


Votre 1ère application « Hello World »

Enseignant: Mouad OUISSE / Version 0.1 47


 Votre 1ére application «Hello World»

Enseignant: Mouad OUISSE / Version 0.1 48


Tester votre application

Enseignant: Mouad OUISSE / Version 0.1 49


 Tester votre application sur:

Un émulateur android: est un logiciel dont le rôle est


de reproduire le comportement d'un micro-ordinateurs.
L'ordinateur ou l'appareil sur lequel fonctionne
l'émulateur se comporte alors comme la machine qu'on
cherche à imiter.

Enseignant: Mouad OUISSE / Version 0.1 50


 Les meilleurs émulateurs Android pour Windows

Enseignant: Mouad OUISSE / Version 0.1 51


Tester votre application sur votre smartphone

Enseignant: Mouad OUISSE / Version 0.1 52


Enseignant: Mouad OUISSE / Version 0.1 53
Enseignant: Mouad OUISSE / Version 0.1 54
Enseignant: Mouad OUISSE / Version 0.1 55
Enseignant: Mouad OUISSE / Version 0.1 56
L'architecture basique d'une application
Android

Enseignant: Mouad OUISSE / Version 0.1 57


4. L'architecture basique d'une application Android

 Le dossier manifests
 Le dossier java
 Le dossier res
 La classe r.java
 Gradle Scripts

Enseignant: Mouad OUISSE / Version 0.1 58


Enseignant: Mouad OUISSE / Version 0.1 59
Le dossier manifests

Enseignant: Mouad OUISSE / Version 0.1 60


 Le dossier manifests

Dans celui-ci on a un fichier AndroidManifest.xml est un fichier de


configuration de l’application au système Android. Ce fichier définit
par exemple (Le nom, l’icône, la version min du SDK, Les permissions,
les activités, les services, certains paramètres de l'application (par
exemple si on autorise la rotation de l'application, etc…)

Enseignant: Mouad OUISSE / Version 0.1 61


Le dossier java

Enseignant: Mouad OUISSE / Version 0.1 62


 Le dossier java

 Ce dossier contient les sources de votre


application (code JAVA) et les packages.
 MainActivity.java : Notre principale
activité.

Enseignant: Mouad OUISSE / Version 0.1 63


Le dossier res

Enseignant: Mouad OUISSE / Version 0.1 64


 Le dossier res

Est le dossier qui contiendra les ressources


de votre application (images, vidéos,
styles…).

Enseignant: Mouad OUISSE / Version 0.1 65


Le dossier r.java

Enseignant: Mouad OUISSE / Version 0.1 66


 La classe r.java

Est le fichier de ressources générées automatiquement par l'IDE.


Il est déconseillé de le manipuler manuellement !
Quand tu crées des views et des layouts, ou encore des strings
ou des colors et que tu leur donnes des IDs, ils seront
automatiquement ajoutés à ce fichier et c'est ainsi qu'Android
te permet d'accéder aux ressources avec
getResources().getString()... ou encore findViewById(R.id.[...]).

Enseignant: Mouad OUISSE / Version 0.1 67


Scripts Gradle

Enseignant: Mouad OUISSE / Version 0.1 68


 Scripts Gradle

Est intégré à Android Studio et est utilisé


afin de gérer et construire les projets
Android (en utilisant le langage Groovy)

Enseignant: Mouad OUISSE / Version 0.1 69


Les Composants d’une application
Android

Enseignant: Mouad OUISSE / Version 0.1 70


5. Les Composants d’une application Android

 Activités
 Services
 Broadcast Receiver
 Content providers

Enseignant: Mouad OUISSE / Version 0.1 71


Activités

Enseignant: Mouad OUISSE / Version 0.1 72


 Activités
le concept d'Activity repose sur la notion d'interaction utilisateur.
Une Activity représente la fenêtre ou tout simplement l'écran qui sera
affiché à l'utilisateur.
Une activité doit hériter de la classe Activity.

public class MainActivity extends Activity {


}

Enseignant: Mouad OUISSE / Version 0.1 73


Enseignant: Mouad OUISSE / Version 0.1 74
Services

Enseignant: Mouad OUISSE / Version 0.1 75


 Services
Un service est un composant qui s’exécute en tâche de fond pour
réaliser des opérations longues ou pour effectuer un appel à une
tâche distante. Contrairement à une activité un service ne propose pas
de d’interface utilisateur.
Un service est implémenté comme une sous - classe de la classe
de service comme suit :

public class MyService extends Service {


}

Enseignant: Mouad OUISSE / Version 0.1 76


Enseignant: Mouad OUISSE / Version 0.1 77
Broadcast Receiver

Enseignant: Mouad OUISSE / Version 0.1 78


 Broadcast Receiver
Ce composant permet de traiter les différents signaux émis par le
système. Par exemple un broadcast annonce que l’écran a été éteint,
que la batterie est faible, qu’une image vient d’être prise…
 Un récepteur de radiodiffusion est implémenté comme une sous -
classe de la classe BroadcastReceiver.

public class MyReceiver extends BroadcastReceiver {


}

Enseignant: Mouad OUISSE / Version 0.1 79


Content providers

Enseignant: Mouad OUISSE / Version 0.1 80


 Content providers
Un content manager gère les données applicatives. Vous pouvez
stocker les données dans n’importe quel système de stockage
accessible par votre application (file system, base de données SQLite).
 Un fournisseur de contenu est implémenté en tant que sous-classe
de la classe ContentProvider .

public class MyContentProvider extends ContentProvider {


}

Enseignant: Mouad OUISSE / Version 0.1 81


L'interface graphique & Evénements

Enseignant: Mouad OUISSE / Version 0.1 82


6. L'interface graphique & Evénements

 Les IHM Android


 Types de constructions d’une IHM
 Les principaux composants graphiques
 Les Evénements

Enseignant: Mouad OUISSE / Version 0.1 83


Les IHM Android

Enseignant: Mouad OUISSE / Version 0.1 84


 Les IHM Android

Bibliothèque propre.
Pas d'AWT, ni Swing etc… .
Décrit par fichier XML ou par composition.
Écrans gérés par des activities, des fragments
et des views.

Les ensembles de composants graphiques sont des


classes. On aura la classe des boutons, la classe des
cases à cocher, etc.
Enseignant: Mouad OUISSE / Version 0.1 85
 Les types de constructions d’une IHM

Enseignant: Mouad OUISSE / Version 0.1 86


 Types de constructions d’une IHM (Types 1)

En combinant les composants par programmation


 Comme JavaSE Swing, AWT, JavaME

Enseignant: Mouad OUISSE / Version 0.1 87


Enseignant: Mouad OUISSE / Version 0.1 88
 Types de constructions d’une IHM (Types 1)
En combinant les composants par programmation
 L'IHM est décrite par programmation en surchargeant la
méthode “onCreate” de l'activity (ou du fragment)
 On instancie des composants graphiques (LinearLayout,
TextView, Button, etc.)
 On les paramètres (setText, setOrientation, setLayout)
 On hiérarchise (content.addView) Content est le layout
auquel on ajoute une vue
Enseignant: Mouad OUISSE / Version 0.1 89
 Types de constructions d’une IHM (Types 1)

Avantage :
➔ Dynamique (construction de vues par programmation)
Inconvénients :
➔Verbeux
➔Fastidieux
➔ WYSIWYG difficile à mettre en œuvre
Enseignant: Mouad OUISSE / Version 0.1 90
 Types de constructions d’une IHM (Types 2)

En déclarant les composants dans un fichier XML


Comme JavaFX (FXML), WPF (XAML)

Enseignant: Mouad OUISSE / Version 0.1 91


Enseignant: Mouad OUISSE / Version 0.1 92
 Types de constructions d’une IHM (Types 2)

En déclarant les composants dans un fichier XML


Le placer dans /res/layout
La description d'une activity doit commencer par un Layout
Les composants graphiques sont ensuite hiérarchisés par
encapsulation dans les nœuds XML
Les composants sont paramétrés avec des attributs XML

Enseignant: Mouad OUISSE / Version 0.1 93


 Types de constructions d’une IHM (Types 2)

Avantage :
➔ WYSIWYG plus simple à mettre en place
➔ Plus lisible
Inconvénients :
➔En mode text, auto complétion pas toujours présente
➔ Verbeux
Enseignant: Mouad OUISSE / Version 0.1 94
Les composants graphiques

Enseignant: Mouad OUISSE / Version 0.1 95


 Les composants graphiques

Ce sont les composants graphiques que voit l'utilisateur,


avec lesquels il agit sur l'interface graphique
Les composants graphiques héritent de la classe View. On
peut regrouper des éléments graphiques dans une ViewGroup.

Enseignant: Mouad OUISSE / Version 0.1 96


Layout

Enseignant: Mouad OUISSE / Version 0.1 97


 Layout
Des conteneurs capables de placer les composants qu'ils contiennent de
façon automatique .Parmis les layouts :
ConstraintLayout
LinearLayout
AbsoluteLayout
RelativeLayout
TableLayout
FrameLayout
GridLayout
Les déclarations se font principalement en XML, ce qui évite de passer par
les instanciations Java. Enseignant: Mouad OUISSE / Version 0.1 98
 Layout

Paramètres d'agencement communs à tous les layouts :


width et height pour indiquer les dimensions demandées pour le composant
enfant, spécifiés à l'aide des valeurs absolues Ou alors avec des constantes
spéciales :
MATCH_PARENT si la dimension doit occuper tout l'espace fourni par le
parent
WRAP_CONTENT si la dimension doit être réduite au minimum
nécessaire pour afficher le contenu du composant (par exemple le texte
d'un bouton ou d'un TextView)

Enseignant: Mouad OUISSE / Version 0.1 99


Quelques attributs

Enseignant: Mouad OUISSE / Version 0.1 100


 Quelques attributs
Attribut Description

Id Ceci est l'ID qui identifie de manière unique la vue.


layout_width Ceci est la largeur de la mise en page.
layout_height Ceci est la hauteur de l'agencement
layout_marginTop C'est l'espace supplémentaire sur le côté supérieur de la mise en page.
layout_marginBottom C'est l'espace supplémentaire sur le côté inférieur de la mise en page.
layout_marginLeft C'est l'espace supplémentaire sur le côté gauche de la mise en page.
layout_marginRight Ceci est l'espace supplémentaire sur le côté droit de la mise en page.
layout_gravity Cela indique comment les enfants Vues sont positionnés.
layout_weight Ceci indique à quel point de l'espace supplémentaire dans la mise en
page doit être alloué à la vue.
Enseignant: Mouad OUISSE / Version 0.1 101
 Quelques attributs

layout_x Ceci spécifie la coordonnée x de la mise en page.


layout_y Ceci spécifie la coordonnée y de la mise en page.
paddingLeft Ceci est la marge intérieur à gauche rempli pour la mise en page.
paddingRight Ceci est la marge intérieur à droite rempli pour la mise en page.
paddingTop Ceci est la marge intérieur en haut rempli pour la mise en page.
paddingBottom Ceci est la marge intérieur en bas rempli pour la mise en page.

Enseignant: Mouad OUISSE / Version 0.1 102


Les dimensions

Enseignant: Mouad OUISSE / Version 0.1 103


 Les dimensions
Pour le développement d'application Android, il y a 6 unité de mesure :

Unité de mesure Description


dp (Density Unité abstraite qui est basés sur la densité physique de l'écran.
independent Pixel) Un dp représente un pixel avec une résolution standardisée de 160dpi
(point par pouce). Cette dimension sera utilisé pour la mise en page des
éléments.
sp (Scale independent Utilisé pour les tailles de polices.
Pixel )
pt (Point ) Basé sur la taille physique de l'écran. Un point représente 1/72 pouces,
soit 353μm.
px (Pixels ) Corresponds aux pixels réels de l'écran.
mm (Millimètre ) Basée sur la taille physique de l'écran
in ( Inches (Pouces)) Basée sur laEnseignant: Mouad OUISSE / Version 0.1
taille physique de l'écran. mesure environ 25,4mm. 104
Enseignant: Mouad OUISSE / Version 0.1 105
Enseignant: Mouad OUISSE / Version 0.1 106
Enseignant: Mouad OUISSE / Version 0.1 107
Enseignant: Mouad OUISSE / Version 0.1 108
Enseignant: Mouad OUISSE / Version 0.1 109
Convertir le dp en pixel
px = dp * (dpi / 160)
https://developer.androi
d.com/training/multiscr
een/screendensities#Tas
kUseDP

Enseignant: Mouad OUISSE / Version 0.1 110


Les types de contrôle en Android

Enseignant: Mouad OUISSE / Version 0.1 111


 Les types de contrôle en Android

Contrôle Description
TextView Est un contrôle utilisé pour afficher du texte.
EditText Est une sous-classe prédéfinie de TextView qui comprend de riches fonctionnalités
d'édition.
AutoCompleteTextView Est similaire à EditText, sauf qu'il présente une liste de suggestions d'achèvement
automatiquement lorsque l'utilisateur tape.
Bouton Un button qui peut être pressé ou cliqué par l'utilisateur d'effectuer une action.
ImageButton Un ImageButton est un AbsoluteLayout qui vous permet de spécifier l'emplacement
exact de ses enfants. Ceci montre un bouton avec une image (au lieu du texte) qui
peut être pressé ou activé par l'utilisateur.
CheckBox Un interrupteur marche / arrêt qui peut être basculée par l'utilisateur. Vous devez
utiliser case à cocher lors de la présentation des utilisateurs avec un groupe
d'options sélectionnables qui ne sont pas mutuellement exclusifs.
Enseignant: Mouad OUISSE / Version 0.1 112
 Les types de contrôle en Android

ToggleButton Un bouton marche / arrêt avec un témoin lumineux.


RadioButton Le a deux états: soit cochée ou décochée.
RadioGroup Est utilisé pour regrouper un ou plusieurs RadioButtons.
ProgressBar La vue ProgressBar fournit une rétroaction visuelle à propos de certaines tâches en cours,
comme lorsque vous effectuez une tâche en arrière-plan.
Spinner Permet aux utilisateurs de sélectionner une valeur à partir d'un ensemble.
TimePicker Permet aux utilisateurs de sélectionner un moment de la journée, soit en mode 24 heures ou
AM / PM.
DatePicker Permet aux utilisateurs de sélectionner une date de la journée.

Enseignant: Mouad OUISSE / Version 0.1 113


Les événements

Enseignant: Mouad OUISSE / Version 0.1 114


 Les Evénements
Les auditeurs d'événements et gestionnaires d'événements

Event Event Listener et Description

OnClickListener()
onClick() Ceci est appelé lorsque l'utilisateur touche l'élément (en mode tactile), ou se concentre sur
l'élément avec les touches de navigation ou la boule de commande et appuie sur la touche
"Entrée" appropriée ou appuie sur la boule de commande.

OnLongClickListener()
onLongClick() Ceci est appelé lorsque l'utilisateur touche et tient l'objet (en mode tactile), ou se concentre sur
l'élément avec les touches de navigation ou la boule de commande et appuie sur la touche
"Entrée" appropriée ou appuie et appuie sur la boule de commande ( pour une seconde).

OnFocusChangeListener()
onFocusChange() Ceci est appelé lorsque l'utilisateur exécute une action qualifiée d'événement tactile, y compris une
pression, une libération ou un geste de mouvement sur l'écran (dans les limites de l'élément).

Enseignant: Mouad OUISSE / Version 0.1 115


 Les Evénements

OnKeyListener()
onKey() Ceci est appelé lorsque l'utilisateur est concentré sur l'élément et appuie ou libère
une clé matérielle sur l'appareil.

OnTouchListener()
onTouch() Ceci est appelé lorsque l'utilisateur appuie sur la touche, relâche la touche, ou tout
geste de mouvement à l'écran.

onMenuItemClick() OnMenuItemClickListener()
Ceci est appelé lorsque l'utilisateur sélectionne un élément de menu.

onCreateContextMenuItemListener()
onCreateContextMenu() Ceci est appelé lors de la construction d'un menu contextuel (résultat d'un long clic
prolongé)

Enseignant: Mouad OUISSE / Version 0.1 116


Les Intents

Enseignant: Mouad OUISSE / Version 0.1 117


6. Les intents (La communication entre les composants)

 Que sont les intentions?


 Intent Filter
 Les Intents explicites
 Les Intents implicites

Enseignant: Mouad OUISSE / Version 0.1 118


Que sont les intentions?

Enseignant: Mouad OUISSE / Version 0.1 119


 Que sont les intentions?

Sont des messages asynchrones qui permettent aux


composants d'une application de demander des
fonctionnalités à d’autres composants Android.

Les Intents sont des objets de type:


android.content.Intent
Enseignant: Mouad OUISSE / Version 0.1 120
Intent Filter

Enseignant: Mouad OUISSE / Version 0.1 121


 Intent Filter

Les Intents filtres sont utilisés pour permettre au


système de connaitre les «intents» qu'il doit utiliser
pour gérer les activités, les services et «Broadcast
Receivers». Ces éléments peuvent avoir un ou plusieurs
filtres «intents».
Les filtres sont généralement définis dans le fichier
«AndroidManifest.xml».

Enseignant: Mouad OUISSE / Version 0.1 122


 Intent Filter

Enseignant: Mouad OUISSE / Version 0.1 123


Les Intents explicites

Enseignant: Mouad OUISSE / Version 0.1 124


 Les Intents explicites

Les Intents explicites définissent explicitement le


composant qui doit être appelé par le système Android
en utilisant le nom de classe Java comme identifiant.

Enseignant: Mouad OUISSE / Version 0.1 125


 Les Intents explicites

Pour obtenir la valeur passée en


effectuant:

Enseignant: Mouad OUISSE / Version 0.1 126


 Les Intents explicites

Enseignant: Mouad OUISSE / Version 0.1 127


Les Intents implicites

Enseignant: Mouad OUISSE / Version 0.1 128


 Les Intents implicites

Les Intents implicites précisent l'action qui devrait être


effectuée avec éventuellement les données pour cette
action.

Enseignant: Mouad OUISSE / Version 0.1 129


 Les Intents implicites

Action:
• Quand on lance un ACTION_VIEW avec une
adresse internet, c'est le navigateur qui se
lance.
• Quand on lance un ACTION_DIAL avec un
numéro de téléphone, c'est le composeur
de numéros qui se lance.
Enseignant: Mouad OUISSE / Version 0.1 130
 Les Intents implicites

Data :
Les données sur lesquelles le traitement va
avoir lieu, exprimées en «URI».
• Il faudra donc utiliser « tel:1234 » pour
téléphoner.
• «http://www.google.com» pour afficher
une page dans un navigateur, etc.
Enseignant: Mouad OUISSE / Version 0.1 131
Exercice 1:

Enseignant: Mouad OUISSE / Version 0.1 132


Exercice 1:

Créer une application Android permet de


calculer le poids idéal selon la formule de
LORENTZ:
Poids idéal Masculin (en Kg) = Taille (en cm) - 100 - ((Taille (en cm) - 150) /4 ).

Poids idéal Féminin (en Kg) = Taille (en cm) - 100 - ((Taille (en cm) - 150) /2,5).

Enseignant: Mouad OUISSE / Version 0.1 133


Exercice 2:

Enseignant: Mouad OUISSE / Version 0.1 134


Exercice 2:
On se propose de réaliser deux activités "ActivityUn" et "ActivityDeux". La première
activité consiste à réaliser une page d'authentification contenant les champs nom, sex et
age et le bouton "Entrer". Lors de l'activation de ce bouton, les données nom et sex seront
envoyées à ActivityDeux et le message suivant sera affiché: "Mr/Mme "nom" vous êtes la
bienvenue".
Pour ce faire, réaliser ce traitement en utilisant:
1. Les intents explicites sans retour de données
2. Les intents explicites avec retour de données de la deuxième activité (Les mêmes
données nom et sex) avec affichage du message "Merci pour votre visite Mr/Mme
"nom"".
3. Ajouter un deuxième bouton pour afficher de la page web: www.google.com,
n'oubliez pas d'ajouter la permission pour accéder à internet dans la section
permission du fichier manifest.xml.
Enseignant: Mouad OUISSE / Version 0.1 135