0% ont trouvé ce document utile (0 vote)
3 vues24 pages

Gestion des inscriptions par Intent

Le document traite de la création d'interfaces utilisateur et du développement d'applications mobiles, en se concentrant sur l'utilisation des objets Intent pour naviguer entre les activités. Il explique comment démarrer des activités, obtenir des résultats, et communiquer avec d'autres applications via des Intents. De plus, il aborde la diffusion d'Intents pour transmettre des informations à d'autres applications et les permissions nécessaires pour certaines actions.

Transféré par

abdessamed630
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)
3 vues24 pages

Gestion des inscriptions par Intent

Le document traite de la création d'interfaces utilisateur et du développement d'applications mobiles, en se concentrant sur l'utilisation des objets Intent pour naviguer entre les activités. Il explique comment démarrer des activités, obtenir des résultats, et communiquer avec d'autres applications via des Intents. De plus, il aborde la diffusion d'Intents pour transmettre des informations à d'autres applications et les permissions nécessaires pour certaines actions.

Transféré par

abdessamed630
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

CRÉATION D'INTERFACE UTILISATEUR (3)

USER INTERFACE CREATION (3)


CRÉATION D’APPLICATIONS ET DÉCOUVERTE DES ACTIVITÉS ET DES INTENTS
CREATION OF APPLICATIONS AND DISCOVERY OF ACTIVITIES AND INTENTS

E.I. Djebbar
Département de Génie des systèmes informatiques
Department of Computer Systems Engineering

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉVELOPPEMENT DES APPLICATIONS MOBILES (DAM) 1
MOBILE APPLICATION DEVELOPMENT National Polytechnic School of Oran-Maurice Audin-
PRINCIPE DE FONCTIONNEMENT DES INTENTS

 Les objets Intent ont essentiellement trois utilisations : ils permettent de démarrer
une activité au sein de l’application courante ou de solliciter d’autres applications et
d’envoyer des informations.

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


NAVIGUER ENTRE ÉCRANS AU SEIN D’UNE APPLICATION

 Une application est souvent composée de plusieurs écrans qui s’enchaînent les uns à
la suite des autres en fonction de l’utilisateur et chaque écran est représenté par une
activité définissant son interface utilisateur et sa logique. La principale utilisation d’un
Intent est le démarrage de ces activités (une à la fois) permettant cet enchaînement.
 De façon plus générale, chaque composant d’une application nécessitera l’emploi d’un
Intent pour être démarré

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉMARRER UNE ACTIVITÉ

 Pour démarrer une activité sans attendre de retour, utilisez la méthode startActivity
avec comme paramètre une instance de la classe Intent spécifiant le type de classe de
l’activité à exécuter :
Intent intent = new Intent(this,[Link]);
startActivity(intent);

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉMARRER UNE ACTIVITÉ ET OBTENIR UN RETOUR

 Lancer une activité enfant et en connaître sa valeur de retour avec la méthode


startActivityForResult
...
private static final int CODE_MON_ACTIVITE = 1;
...
Intent intent = new Intent(this,[Link]);
startActivityForResult(intent, CODE_MON_ACTIVITE);

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


RENVOYER UNE VALEUR

@Override
public void onClick(View v) {
switch([Link]()){
case [Link].button1:
setResult(RESULT_OK);
finish();
break;
case [Link].button2:
setResult(RESULT_CANCELED);
finish();
break;
}
}

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


RÉCUPÉRER LA VALEUR DE RETOUR
AGIR EN FONCTION DE LA VALEUR DE RETOUR

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case CODE_MON_ACTIVITE:
switch(resultCode){
case RESULT_OK:
[Link](this, "Action validée", Toast.LENGTH_LONG).show();return;
case RESULT_CANCELED:
[Link](this, "Action annulée", Toast.LENGTH_LONG).show();return;
default: return;
}
default: return;
} 7

}
Ecole Nationale Polytechniques d’Oran-Maurice Audin-
SOLLICITER D’AUTRES APPLICATIONS

 L’envoi d’un Intent permet également de demander à un composant d’une autre


application que la vôtre de traiter l’action que vous souhaiteriez réaliser. C’est le
système qui décide alors de l’application à utiliser pour accomplir votre souhait. Pour
décider du composant le plus approprié, le système se base sur les informations que
vous spécifiez dans votre objet Intent : action, données, catégorie, etc.

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


SOLLICITER D’AUTRES APPLICATIONS

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉLÉGUER AU SYSTÈME LE CHOIX DE L’APPLICATION

 Nous souhaitons composer un numéro de téléphone. Nous allons utiliser le type


d’action ACTION_DIAL
 Composer un numéro de téléphone

Uri uri = [Link]("[Link]


Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent)
10

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉLÉGUER AU SYSTÈME LE CHOIX DE L’APPLICATION

11

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


ACTIONS NATIVES

12

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


ACTIONS NATIVES

13

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DÉMARRER UN NAVIGATEUR INTERNET

 Démarrer un navigateur internet


private void doWebBrowser(){
Uri uri = [Link]("[Link]
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}

14

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


ACCORDER LES PERMISSIONS LIÉES AUX ACTIONS

 Certaines actions requièrent des privilèges spéciaux qui vous amèneront à ajouter
des permissions dans le fichier de configuration de votre application.
 Par exemple, pour émettre un appel depuis votre application, il ne suffira pas
uniquement de créer un objet Intent avec l’action ACTION_CALL.
 Il vous faudra également ajouter la permission [Link].CALL_PHONE

15

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


ACCORDER LES PERMISSIONS LIÉES AUX ACTIONS

Uri uri = [Link]("[Link]


Intent intent = new Intent(Intent.ACTION_CALL, uri);
startActivity(intent);

<manifest ...
<uses-permission
android:name="[Link].CALL_PHONE" />
</manifest>
16

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


LES INTENTS: EMBARQUER DES DONNÉES SUPPLÉMENTAIRES

 La classe Intent dispose de méthodes putExtra et getExtras grâce auxquelles un objet


de type Bundle véhiculera vos données d’une activité à une autre.
 L’échange des données se fait par l’association d’une clé (représentée par une chaîne
de caractères) à une donnée à échanger. Pour ajouter chaque donnée à échanger, il
faut appeler la méthode putExtra avec la clé et la donnée à échanger. La méthode
putExtra dispose d’une surcharge pour pratiquement tous les types de données
primitifs : int, float, String, etc.

17

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


AJOUTER UNE DONNÉE À UN INTENT

Intent intent = new Intent(this,[Link]);


[Link]("maclé", "hello !");
startActivity(intent);

18

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


RÉCUPÉRER UNE DONNÉE D’UN BUNDLE

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
Bundle extra = [Link]().getExtras();
if(extra != null)
String data = [Link]("maclé");
}
19

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DIFFUSER ET RECEVOIR DES INTENTS

 Un Intent peut être diffusé à l’ensemble des applications du système pour


transmettre des informations à destination des autres applications, que ce soit pour
demander la réalisation d’actions spécifiques, ou pour fournir des informations sur
l’environnement (appel entrant, réseau Wi-Fi connecté, etc.).
 Ce mécanisme de diffusion permet à chaque processus de communiquer un état
spécifique, une information ou une action de manière homogène à l’ensemble de ses
pairs. Dans ce contexte, ces Intents sont alors appelés des Broadcast Intents alors que
ses récepteurs sont appelés les Broadcast Receiver ou « récepteurs d’Intents ».

20

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


DIFFUSER UN INTENT

private void doBroadcast(){


Intent intent = new Intent([Link]);
[Link]( "extra", "hello !");
sendBroadcast(intent);
}

21

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


LES MESSAGES D’INFORMATIONS NATIFS

 Android, à l’instar des actions, propose plusieurs actions prédéfinies et utilisées pour
communiquer sur l’état d’un service ou le changement d’un composant du système.

22

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


LES MESSAGES D’INFORMATIONS NATIFS

23

Ecole Nationale Polytechniques d’Oran-Maurice Audin-


EXEMPLE ACTION_BOOT_COMPLETED
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];

public class MainActivity extends Activity {

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

setContentView([Link].activity_main);

if (Intent.ACTION_BOOT_COMPLETED!=null) {
[Link](getApplicationContext(), "Device is booting ...", Toast.LENGTH_LONG).show();
}
}
} 24

Ecole Nationale Polytechniques d’Oran-Maurice Audin-

Vous aimerez peut-être aussi