0% ont trouvé ce document utile (0 vote)
4 vues6 pages

Programmation Android TP2

Le document décrit un TP sur la création d'activités et l'utilisation des intents dans une application Android. Il couvre la création d'une application avec deux activités, le passage de données entre elles via des intents, et inclut des exercices pratiques pour renforcer ces concepts. De plus, il présente un exercice supplémentaire pour implémenter une activité RSVP pour un événement.

Transféré par

benbrahim jihad
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)
4 vues6 pages

Programmation Android TP2

Le document décrit un TP sur la création d'activités et l'utilisation des intents dans une application Android. Il couvre la création d'une application avec deux activités, le passage de données entre elles via des intents, et inclut des exercices pratiques pour renforcer ces concepts. De plus, il présente un exercice supplémentaire pour implémenter une activité RSVP pour un événement.

Transféré par

benbrahim jihad
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

TP2 – Activités et Intents

Objectifs:
Vous apprendrez à:
• Créez une nouvelle activité dans Android studio
• Définir les activités parent et enfant pour la navigation "Up".
• Démarrer des activités avec des intents explicites.
• Passez des données entre les activités avec des « intent extras »

Exercice 1 :

Tâches à réaliser :
Dans cette pratique, vous allez:
1. Créer une nouvelle application Android avec deux activités.

2. Passer certaines données (une chaîne) de l'activité principale à la seconde en


utilisant une intent, et afficher ces données dans la secondeactivité.

3. .Envoyer une deuxième partie de données à l'activité principale, également en


utilisant des intents.

Vue d’ensemble de l’application


Dans ce exercice, vous allez créer une application appelée « nom_prenom » qui contient
deux activités. Cette application sera construite en deux étapes.

Dans la première étape, créez une application dont l'activité principale contient un seul
bouton (Envoyer). Lorsque l'utilisateur clique sur ce bouton, votre activité principale utilise
un intent afin de commencer la deuxième activité.
Dans la deuxième étape, vous allez ajouter une vue EditText à l'activité principale. L'utilisateur
entre un message et clique sur Envoyer. L'activité principale utilise un intent à la fois pour
démarrer la seconde activité et pour envoyer le message de l'utilisateur à cette activité. La
deuxième activité affiche le message reçu.
Partie 1 : démarrer une autre activité
Création de la première activité :
• créer un nouveau projet nommé TP2, avec le nom de layout activity_main.xml,
• dans le fichier activity_main.xml ajouter les définitions des éléments suivants :

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


<RelativeLayout xmlns:android="[Link]
xmlns:tools="[Link]
xmlns:app="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/messg"
android:hint="Taper votre message"
/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Second Activity"
android:layout_marginTop="69dp"
android:layout_below="@+id/messg"
android:id="@+id/btnDemarrerSecondActivity" />
</RelativeLayout>

• Modifiez le code de la classe [Link] implémentant OnClickListener pour gérer un


événement de click sur le bouton envoyer comme suivant:

package [Link];

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

import [Link];
import [Link];

import [Link];

public class MainActivity extends AppCompatActivity implements [Link] {


public static final String EXTRA_MESSG = "Hello From MainActivity";
Button envoyer;

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
envoyer = (Button) findViewById([Link]. envoyer);
[Link](this);
}

@Override
public void onClick(View view) { //TO DO }
}

1
• Création de la deuxième activité :
• Créer une seconde activité: FileàNewàActivityàEmpty ou Blank Activity, nommée
SecondActivity,
• Le fichier activity_second.xml contient un seul élément TextView comme suivant ;

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


<[Link]
xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActivity">

<TextView
android:id="@+id/messg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.337" />
</[Link]>

• [Link] est l’activité qu’on veut démarrer contenant un TextView qui affiche
Second Activity,

package [Link];

import [Link];

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

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_second);
setTitle(getLocalClassName());
Intent intent = getIntent();
String message =[Link](MainActivity.EXTRA_MESSG);
TextView textView = (TextView) findViewById([Link]);
[Link](message);
}
}

2
• Dans le fichier [Link] définir SecondActivity et son Intent Filter comme
suivant :

<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="[Link].SECOND_ACTIVITY" />

<category android:name="[Link]" />


</intent-filter>
</activity>

• Exécuter l’application,

Partie 2 : passer les données à la seconde activité


On veut faire passer quelques données à la seconde activité via l’objet intent, pour cela on
va changer le code java des deux classes d’activités pour réaliser cette tâche, vous procédez
de cette façon :

• Dans le fichier [Link] ajouter les modifications suivantes pour envoyer le


message à partir de :

@Override
public void onClick(View view) {

// 1. put key/value data


EditText messg = findViewById([Link]);
String MESSAGE = [Link]().toString();
// 2. create an intent pass class name or intent action name
Intent intent = new Intent(this, [Link]);
[Link](EXTRA_MESSG, MESSAGE);
startActivity(intent);

// 5. start the activity


startActivity(intent);

3
• Pour la seconde activité changer la classe [Link] pour recevoir le même
message :

package [Link];

import [Link];

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

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_second);
setTitle(getLocalClassName());
Intent intent = getIntent();
String message =[Link](MainActivity.EXTRA_MESSG);
TextView textView = (TextView) findViewById([Link]);
[Link](message);
}
}

• Executer le programme,
• Analyser le code de ce programme en répondant sur les questions suivantes:
a. Comment démarrer une autre activité ?
b. Quel est le rôle de chaque méthode : setOnClickListener(), onClick(),
putExtra(), getIntent(), getExtras() ?
c. Quel est le rôle de la classe Intent?

TAF:
1- Créer un projet dans lequel vous réaliser le passage des informations suivantes:
filière, département, laboratoire et service d’une activité principale à une autre
activité en utilisant la classe Intent, et d’ajouter un bouton dans l’autre activité pour
retourner à l’activité principale.
2- Faire les modifications pour afficher les informations citées ci-dessus sous forme
d’une liste dans la deuxième activité.

4
Exo 2 : Mini-app « RSVP événement »

Objectif

Vous devez implémenter une activité RsvpActivity qui permet à un utilisateur de s’inscrire
(RSVP) pour un évènement.

Comportement attendu :

• L’utilisateur saisit son nom dans un EditText (@+id/name).


• Il choisit son mode de participation via deux RadioButton dans un RadioGroup : un
pour le Présentiel et un autre pour En ligne.
• Il clique sur le bouton Confirmer.
• L’application affiche un message de confirmation dans un TextView (ex. « Merci Imane—
vous participerez en présentiel »).

Tâches à réaliser

1. Associer le layout XML à l’activité RsvpActivity.


2. Déclarer et initialiser les vues : EditText name, RadioButton inperson, RadioButton
online, Button confirmBtn, TextView confirmation.
3. Implémenter la méthode appelée au clic du bouton (deux options : via android:onClick
dans le XML ou via setOnClickListener en Java).
4. Valider la saisie : le nom ne doit pas être vide. Si vide, afficher un Toast d’erreur et écrire
« Nom requis » dans confirmation.
5. Si saisie ok, afficher la confirmation textuelle dans confirmation.
6. (Bonus) Sauvegarder le texte confirmation lors d’une rotation.

Questions pour réflexion

a) C’est quoi la ligne de code nécessaire pour associer le layout à l’activité ?

b) Vous créez une méthode qui sera appelée lors du clic sur le bouton Confirmer. Donner la
signature exacte de cette méthode.

c) Vous avez déclaré deux attributs dans l’activité :

private RadioButton inperson;


private RadioButton online;

Donner les lignes de code nécessaires pour lier inperson et online aux boutons radio. (Où les
placer ?)

Vous aimerez peut-être aussi