Devoir Android : Développement d'une application mobile
Durée : 2 heures
Barème : /20 points
Partie 1 : QCM (6 points)
Choisissez la bonne réponse pour chaque question.
1. Quelle est la fonction principale du fichier [Link] ?
a) Il gère les ressources de l’application.
b) Il identifie le comportement de l’application et déclare ses composants.
c) Il sert uniquement à gérer les autorisations d’utilisateur.
d) Il stocke toutes les chaînes de caractères de l’application.
2. Quelles unités de mesure sont recommandées pour garantir la cohérence de
l'interface sur tous les écrans Android ?
a) px
b) dp et sp
c) dpi
d) cm et mm
3. Quel type de ressource est utilisé pour définir les animations dans Android ?
a) drawable
b) anim
c) layout
d) color
4. Quelle méthode permet de charger l’interface depuis un fichier XML dans une
activité ?
a) setContentView()
b) loadLayout()
c) createView()
d) onStart()
5. À quoi sert l’attribut layout_weight dans un LinearLayout ?
a) Ajuster l’espacement entre les éléments.
b) Définir le poids relatif de chaque élément pour occuper l'espace restant.
c) Centrer les éléments dans le parent.
d) Ajuster la couleur des éléments.
6. Quelle est la différence entre @id et @+id ?
a) @id crée un nouvel identifiant, @+id le référence uniquement.
b) @+id crée un nouvel identifiant, @id le référence uniquement.
c) Il n'y a aucune différence entre les deux.
d) L'un est utilisé pour les chaînes, l'autre pour les images.
Partie 2 : Question sur l’activité Android (4 points)
Expliquez les rôles de l’activité principale d’une application Android et décrivez ce que fait la
méthode onCreate().
Partie 3 : XML fourni pour dessiner une interface (6 points)
Utilisez le code XML ci-dessous pour dessiner une interface simple avec un titre, une image et
un bouton dans un LinearLayout vertical.
xml
Copy code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bienvenue sur l'application"
android:textSize="24sp"
android:textColor="@android:color/black"
android:layout_marginBottom="16dp" />
<ImageView
android:id="@+id/image"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@android:drawable/ic_menu_gallery"
android:layout_marginBottom="16dp" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Commencer" />
</LinearLayout>
Question : Expliquez ce que fait l’attribut gravity dans le LinearLayout. Comment
pourrait-on changer l’alignement du texte à gauche dans le TextView ?
Partie 4 : Complétez le code Java (4 points)
Complétez le code suivant pour afficher un toast lorsqu’on clique sur le bouton de l’interface
XML ci-dessus.
java
Copy code
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
// Récupérer le bouton par son ID
Button startButton = findViewById([Link]);
// Ajouter un écouteur d'événement sur le bouton
[Link](new [Link]() {
@Override
public void onClick(View v) {
// Complétez ici pour afficher un toast avec le
message "Bienvenue !"
}
});
}
}