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

Ines Regaig LSI-A3: On A Une Application Composée De: 1.

Le document présente des exercices pour une application Android comportant deux activités. Le premier exercice consiste à créer un bouton dans FirstActivity pour ouvrir SecondActivity, tandis que le deuxième exercice implique la transmission de données (nom et âge) de FirstActivity à SecondActivity. Le troisième exercice demande de développer une application avec une barre d'outils contenant un menu d'options pour ajouter, supprimer une photo et afficher des informations à propos.

Transféré par

anisromdhane6
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)
21 vues8 pages

Ines Regaig LSI-A3: On A Une Application Composée De: 1.

Le document présente des exercices pour une application Android comportant deux activités. Le premier exercice consiste à créer un bouton dans FirstActivity pour ouvrir SecondActivity, tandis que le deuxième exercice implique la transmission de données (nom et âge) de FirstActivity à SecondActivity. Le troisième exercice demande de développer une application avec une barre d'outils contenant un menu d'options pour ajouter, supprimer une photo et afficher des informations à propos.

Transféré par

anisromdhane6
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

UNIVERSITE DE SOUSSE

Institut Supérieur des


Sciences Appliquées et de ‫جــامعة سوسة‬
Technologie de Sousse | ‫المعهد العالي للعلوم التطبيقية والتكنولوجيا بسوسة‬
Sousse

TD3 : Intent A.U. : 2024/2025

Matière : Developpement mobile


Enseignante : Ines Regaig
Classe : LSI-A3

Exercice 1 :
On a une application composée de deux activités :

1. FirstActivity :

• Contient un bouton.
• Lorsque l'utilisateur clique sur ce bouton, SecondActivity s'ouvre.

2. SecondActivity :

• Contient un TextView qui affiche le message suivant :


« Welcome to the SecondActivity ».

Complétez le code Java pour que le bouton dans FirstActivity ouvre SecondActivity.

Code Xml pour FirstActivity (activity_first.xml)

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">

<TextView
android:id="@+id/textViewWelcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome to the second activity"
android:textSize="20sp"
android:textColor="@android:color/black" />

</LinearLayout>
Code xml pour SecondActivity (activity_second.xml)

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


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">

<Button
android:id="@+id/buttonGoToSecond"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go to the second activity" />
</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

Code Java pour FirstActivity (FirstActivity.java)

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Référence au bouton
Button buttonGoToSecond = ………………………………………(……………………………………………………………);

// Gérer le clic du bouton


…………………………………………………………………………………………………………………………………………….
@Override
public void ……(…) {
// Lancer l'activité B
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………

}
});
}
}
Exercice 2 :

On a une application composée de deux activités :

1. FirstActivity :
o Contient deux champs de saisie (un pour le nom, un pour l’âge).
o Contient un bouton.
o Lorsque l'utilisateur saisit son nom et son âge, puis clique sur le bouton, l'application ouvre
SecondActivity en transmettant le nom et l'âge.
2. SecondActivity :
o Contient deux TextView pour afficher le nom et l'âge reçus de FirstActivity.

Complétez le code Java pour que les données saisies dans FirstActivity soient transmises à
SecondActivity, où elles seront affichées.

XML pour FirstActivity (activity_first.xml)

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Entrez votre nom" />

<EditText
android:id="@+id/editTextAge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Entrez votre âge"
android:inputType="number" />

<Button
android:id="@+id/buttonSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Envoyer"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp" />
</LinearLayout>
Code Java pour FirstActivity (FirstActivity.java)
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Récupérer les vues

………………………………………………………………………………………………
………………………………………………………………………………………………

// Ajouter l'événement du bouton


buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Récupérer les valeurs saisies
String name = editTextName.getText().toString();
……………………………………………………………………………………………………………………………

// Créer un intent pour lancer l'Activité B


………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
// Démarrer l'Activité B
startActivity(intent);}
});
}
}

XML pour SecondActivity (activity_second.xml)

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<TextView
android:id="@+id/textViewName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nom : "
android:textSize="18sp" />

<TextView
android:id="@+id/textViewAge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Age : "
android:textSize="18sp"
android:layout_marginTop="8dp" />
</LinearLayout>
Code Java pour SecondActivity (SecondActivity.java)

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

// Récupérer les vues


TextView textViewName = findViewById(R.id.textViewName);
………………………………………………………………………………………………………………………………………………

// Récupérer les données envoyées par l'Activité A


String name = getIntent().getStringExtra("EXTRA_NAME");
……………………………………………………………………………………………………………………………………

String nameMessage = "Nom : " + name;


………………………………………………………………………………………………………
// Afficher les données dans les TextView
textViewName.setText(nameMessage);
………………………………………………………………………………………………………
}
}

Exercice 3 :

Développez une application Android avec une barre d'outils qui contient un menu d'options. Ce menu doit
inclure :

1. "Ajouter une photo".


2. "Supprimer une photo".
3. "À propos".

Lorsqu'une option est sélectionnée, affichez un Toast indiquant l'option choisie.

Étape 1 : Créer le menu XML

Créez un fichier de menu XML appelé menu_main.xml dans le dossier res/menu.

Fichier : menu_main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:id="@+id/menu_add"
android:title="Ajouter une photo"
android:icon="@android:drawable/ic_menu_add"
app:showAsAction="always" />

<item
android:id="@+id/menu_delete"
android:title="Supprimer une photo"
android:icon="@android:drawable/ic_menu_delete"
app:showAsAction="always" />

<item
android:id="@+id/menu_about"
android:title="À propos"
app:showAsAction="never" />
</menu>

Étape 2 : Configurer l'activité principale

Créez ou modifiez l'activité principale pour inclure le menu dans la barre d'outils.

Fichier : MainActivity.java
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Toolbar toolbar = findViewById(R.id.toolbar);


setSupportActionBar(toolbar);
}

@Override
public boolean ……………………………………………………………(Menu menu) {
// Lier le menu XML à l'activité
getMenuInflater().inflate(R.menu.menu1, menu);
return true;
}

@Override
public boolean ……………………………………………………………(MenuItem item) {
// Récupérer l'identifiant de l'élément sélectionné
int id = item.getItemId();

if (id == R.id.menu_add) {
…………………………………………………………………………………………………………………….
return true;
} else if (id == R.id.menu_delete) {
…………………………………………………………………………………………………………………….
return true;
} else if (id == R.id.menu_about) {
………………………………………………………………………………………………………………………
return true;
} else {
return super.onOptionsItemSelected(item);
}
}

Étape 3 : Ajouter le layout principal

Créez un fichier de layout pour l'activité principale avec une barre d'outils.

Fichier : activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<!-- Barre d'outils avec contraintes -->


<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@color/violet"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Vous aimerez peut-être aussi