Vous êtes sur la page 1sur 4

Département Technologies de l’Informatique

DEVOIR DE CONTROLE
ECUE : Développement mobile avancé Classe(s) : L3-SEM
Enseignant : JAOUADI M. Documents autorisés : Oui
Date : Nombre de pages : Non
Durée : 1h
06/11/2019 4 Calculatrice autorisée : Oui Non

Exercice 1 (4 points)
Expliquer les termes cités ci-dessous et qu’on peut trouver dans une application Android :
 Manifeste
 Activité
 Service
 Intent

Exercice 2 (16 points)


On souhaite programmer une application qui représente un jeu qui demande à l’utilisateur de deviner un
nombre généré de façon aléatoire.
Lorsque l’utilisateur clique sur le bouton Nouvelle partie une nouvelle partie commence. L’application génère
un nombre au hasard. Le joueur doit trouver ce nombre en un minimum de tentatives. Il saisie la valeur dans
un EditText puis cliquer sur le bouton valider. L’application propose alors au joueur soit de donner un nombre
plus grand si sa tentative était plus petite que le nombre caché, soit de donner un nombre plus petit si sa
tentative était plus grande, jusqu’à obtenir le nombre correct.
On placera dans un ScrollView l’historique des tentatives.

 Le code de la page 2 est contenu dans le fichier activity_main.xml et représente le Layout de


l’activité main.
 Le code de la page 3 est contenu dans le fichier MainActivity.java.
Travail demandé : Programmer cette application et compléter le code à partir de la page 3.

Le fichier activity_main.xml

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.git.exaam2.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/explication_du_jeu"
android:textAppearance="@android:style/TextAppearance.Large"
/>
<Button
android:id="@+id/button_nouvelle_partie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="nouvelle_partie"
android:text="Nouvelle partie" />

<EditText
android:id="@+id/edit_essai"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:singleLine="true"
android:textColor="@android:color/holo_red_dark"
android:textStyle="bold"
/>
<Button
android:id="@+id/button_valider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="verifier_si_egal"
android:text="Valider" />
<TextView
android:id="@+id/view_resultat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/textview_resultat"
android:textAppearance="@android:style/TextAppearance.Large"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/view_historique"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Historique des tentatives"
android:textAppearance="@android:style/TextAppearance.Medium" />
</ScrollView>

2/4
</LinearLayout>

Le fichier MainActivity.java
package com.example.git.exaam2;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import java.util.Random;

public class MainActivity extends AppCompatActivity {


public int n1, nbrEssais, essai;
public Random r = new Random(); // Fonction de génération aléatoire de nombres

public TextView nresultat, nhistorique; // A associer au TextView resultat


public EditText nedittext;
public String histo, mes;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nresultat = (TextView) findViewById(R.id.view_resultat);
nhistorique = (TextView) findViewById(R.id.view_historique);
nedittext = (EditText) findViewById(R.id.edit_essai);

public void nouvelle_partie(View view) {

3/4
}

public void verifier_si_egal(View view) {


}

4/4