0% ont trouvé ce document utile (0 vote)
43 vues8 pages

Cours Intent

Le document explique l'utilisation des Intent dans Android pour la communication entre les composants d'une application et entre différentes applications. Il décrit les deux types d'intentions : explicites, qui ciblent un composant spécifique, et implicites, qui spécifient une action à réaliser sans nommer le composant. Des exemples de code illustrent comment mettre en œuvre ces intentions dans une application Android.

Transféré par

Hayder Labidi
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)
43 vues8 pages

Cours Intent

Le document explique l'utilisation des Intent dans Android pour la communication entre les composants d'une application et entre différentes applications. Il décrit les deux types d'intentions : explicites, qui ciblent un composant spécifique, et implicites, qui spécifient une action à réaliser sans nommer le composant. Des exemples de code illustrent comment mettre en œuvre ces intentions dans une application Android.

Transféré par

Hayder Labidi
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

1

Intent in Android
Android utilise Intent pour communiquer entre les composants d'une application et

également d'une application à une autre.

L'intention sont les objets qui sont utilisés dans Android pour transmettre les informations

entre les activités d'une application et également d'une application à une autre. L'intention

est utilisée pour communiquer entre les composants de l'application et fournit également la

connectivité entre deux applications.

Par exemple : l'intention vous permet de rediriger votre activité vers une autre activité en

cas de survenance d'un événement. En appelant startActivity(), vous pouvez effectuer cette

tâche.
Intent intent = new Intent(getApplicationContext(), [Link]);
startActivity(intent);

 Dans l'exemple ci-dessus, l'activité de premier plan est redirigée vers une autre

activité, à savoir [Link]. getApplicationContext() renvoie le contexte de

votre activité de premier plan.


Types des Intents:

Les intentions sont de deux types : l'intention explicite et l'intention implicite


2

Intention explicite :

Les intentions explicites sont utilisées pour connecter l'application en interne.

Dans Explicit, nous utilisons le nom du composant qui sera affecté par l'intention. Par

exemple : si nous connaissons le nom de la classe, nous pouvons naviguer dans l'application

d'une activité à une autre en utilisant l'intention. De la même manière, nous pouvons

démarrer un service pour télécharger un fichier en arrière-plan.

L'intention explicite fonctionne en interne au sein d'une application pour effectuer la

navigation et le transfert de données. L'extrait de code ci-dessous vous aidera à comprendre

le concept d'intentions explicites.


Intent intent = new Intent(getApplicationContext(), [Link]);
startActivity(intent);

Intention implicite :

Dans les intentions implicites, nous devons spécifier le nom du composant. Nous spécifions

simplement l'action qui doit être effectuée et cette action est en outre gérée par le

composant d'une autre application.

L'exemple de base d'intention implicite est d'ouvrir n'importe quelle page Web

Prenons un exemple pour comprendre plus clairement les intentions implicites. Nous devons

ouvrir un site Web en utilisant l'intention dans votre application. Voir l'extrait de code ci-

dessous.
Intent intentObj = new Intent(Intent.ACTION_VIEW);
[Link]([Link]("[Link]
startActivity(intentObj);

Étape 1 : Concevons l'interface utilisateur de Activity_main.xml :

• Concevez d'abord la vue texte affichant les détails de base de l'application.

• Deuxièmement, concevez les deux boutons Exemple d'intention explicite et Exemple

d'intention implicite
3

Vous trouverez ci-dessous le code complet de Activity_main.xml


<RelativeLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainAc
tivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="If you click on Explicit example we will navigate to second a
ctivity within App and if you click on Implicit example AbhiAndroid Homepage will o
pen in Browser"
android:id="@+id/textView2"
android:clickable="false"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginTop="42dp"
android:background="#3e7d02"
android:textColor="#ffffff" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Explicit Intent Example"
android:id="@+id/explicit_Intent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="147dp" />

<Button
android:layout_width="wrap_content"
4

android:layout_height="wrap_content"
android:text="Implicit Intent Example"
android:id="@+id/implicit_Intent"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />

</RelativeLayout>

Étape 2 : Concevoir l'interface utilisateur de la deuxième activité Activity_second.xml

Concevons maintenant l'interface utilisateur d'une autre activité dans laquelle l'utilisateur

naviguera après avoir cliqué sur le bouton Exemple explicite. Accédez au dossier de mise en

page, créez une nouvelle activité et nommez-la Activity_second.xml.

• Dans cette activité, nous utiliserons simplement TextView pour indiquer à l'utilisateur qu'il

en est maintenant à sa deuxième activité.

Vous trouverez ci-dessous le code complet de Activity_second.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
xmlns:tools="[Link] android:layout_width="match_par
ent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:background="#CCEEAA"
tools:context="[Link]">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="This is Second Activity"
android:id="@+id/textView"
android:layout_centerVertical="true"
5

android:layout_centerHorizontal="true" />
</RelativeLayout>

Étape 3 : implémenter l'événement onClick pour les boutons implicites et explicites dans

[Link] allons maintenant utiliser la méthode setOnClickListener() pour

implémenter l'événement OnClick sur le bouton. Le bouton implicite ouvrira la page

d’accueil d’[Link] dans le navigateur et le bouton explicite sera déplacé vers

[Link].

Vous trouverez ci-dessous le code complet de [Link]


package [Link];

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

public class MainActivity extends AppCompatActivity {

Button explicit_btn, implicit_btn;


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

explicit_btn = (Button)findViewById([Link].explicit_Intent);
implicit_btn = (Button) findViewById([Link].implicit_Intent);

//implement Onclick event for Explicit Intent

explicit_btn.setOnClickListener(new [Link]() {
6

@Override
public void onClick(View v) {

Intent intent = new Intent(getBaseContext(), [Link]


);
startActivity(intent);

}
});

//implement onClick event for Implicit Intent

implicit_btn.setOnClickListener(new [Link]() {
@Override
public void onClick(View v) {

Intent intent = new Intent(Intent.ACTION_VIEW);


[Link]([Link]("[Link]
startActivity(intent);
}
});

}
}

Étape 4 : Créer un nouveau nom de classe JAVA SecondActivity.

Nous devons maintenant créer un autre [Link] qui ouvrira simplement la mise

en page de Activity_second.xml . Nous utiliserons également Toast pour afficher un message

indiquant qu'il est en deuxième activité.

Vous trouverez ci-dessous le code complet de [Link] :


package [Link];

import [Link];
7

import [Link];
import [Link];

public class SecondActivity extends AppCompatActivity {

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

[Link](getApplicationContext(), "We are moved to second Activity",


Toast.LENGTH_LONG).show();
}
}

Étape 5 : Fichier manifeste :

Assurez-vous que le fichier Manifest contient à la fois MainActivity et SecondActivity. Ici

aussi, MainActivity est notre activité principale qui sera lancée en premier. Assurez-vous

donc que le filtre d'intention est correctement ajouté juste en dessous de MainActivity.

Ci-dessous le code du fichier manifeste :


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="[Link]
package="[Link]" >

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="[Link]" />
<category android:name="[Link]" />
</intent-filter>
8

</activity>
<activity android:name=".SecondActivity" >

</activity>
</application>

</manifest>

Vous aimerez peut-être aussi