Développment Mobile Native TD1
DEVELOPPEMENT MOBILE
TRAVAUX DIRIGES N°1
Exercice 1
1. Donner la différence entre une activité et une application
2. Quel est le rôle du fichier strings.xml ?
3. Qu’est ce qu’il faut faire pour créer une deuxième activité dans une application ?
4. Quel est l’objet qui permet de passer des messages entre deux activités ?
5. A quoi servent les points d’arrêt dans un programme ? Comment s’en servir ?
6. A quoi sert le Logcat dans l’IDE Android studio ?
7. Quelles sont les contraintes posées par l’utilisation d’une machine virtuelle pour tester
une application Android ?
Exercice 2
Répondre par VRAI ou FAUX. Apporter une courte explication.
1- Android Studio est le seul environnement de développement pour développer des applications
Android.
2- Un composant d'une application ne peut pas démarrer le composant d'une autre application.
3- « android:maxSdkVersion » indique la version de l'API pour laquelle le programme a été écrit.
4- On ne peut utiliser que les machines virtuelles fournies par l’AVD pour tester l’exécution
simultanée de plusieurs applications android.
5- Le fichier dimens.xml est obligatoire pout chaque application android
Exercice 3
On désire écrire l’application CelsiusKelvin avec Android studio pour convertir des températures
du degré Celsius (°C) au Kelvin (K) et vice versa. On donne :
0 °C = 273.15 K
T(K) = T(°C) + 273.15
Hend Ben Ayed Kharrat 2022-2023 [1]
Développment Mobile Native TD1
Le code suivant du fichier activity_main.xml définie le Layout de l’application. La figure ci-dessous
vous en donne un aperçu.
Le contrôle EditText d’ id est @+id/etdonnee sert à introduire la donnée à convertir
Le contrôle EditText d’ id est @+id/etresult sert à afficher le résultat de la conversion
Les deux boutons servent à lancer l’opération de conversion d’une unité à l’autre.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/andr
oid"
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"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:text="Entrer une valeur"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/etdonnee"
android:layout_width="match_parent"
android:layout_marginBottom="10dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/bCelToKel"
android:text="Convertir °C en K"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/bKelToCel"
android:text="Convertir K en °C"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="20dp"
android:text="Résultat"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/etresultat"
android:layout_width="match_parent"
android:layout_marginBottom="10dp"
android:layout_height="wrap_content" />
</LinearLayout>
package com.example.celsuskelvin;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import static java.lang.Float.parseFloat;
public class MainActivity extends AppCompatActivity {
…
@Override
Hend Ben Ayed Kharrat 2022-2023 [2]
Développment Mobile Native TD1
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
…}
…
…
}
1. Reprenez et compléter le code java ci-dessus pour achever l’application. Mentionnez
toutes les modifications que vous voulez apporter au fichier xml.
2. Comment peut-on tester une application Android ?
Exercice 4 :
Dessiner l’interface graphique correspondant au fichier XML suivant :
<?xml version="1.0" encoding="utf-8"?> <Button
<RelativeLayout android:id="@+id/btn4"
xmlns:android="http://schemas.android.com/ android:layout_width="match_parent"
apk/res/android" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_alignParentBottom="true"
android:layout_height="match_parent" android:text="Button4" /><Button
android:paddingLeft="10dp" android:id="@+id/btn5"
android:paddingRight="10dp"> android:layout_width="wrap_content"
<Button android:layout_height="wrap_content"
android:id="@+id/btn1" android:layout_alignBottom="@id/btn2"
android:layout_width="wrap_content" android:layout_centerHorizontal="true"
android:layout_height="wrap_content" android:text="Button5" />
android:layout_alignParentLeft="true" <Button
android:text="Button1" /> android:id="@+id/btn6"
<Button android:layout_width="wrap_content"
android:id="@+id/btn2" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_above="@id/btn4"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:layout_alignParentRight="true" android:text="Button6" />
android:layout_centerVertical="true" <Button
android:text="Button2" /> android:id="@+id/btn7"
<Button android:layout_width="wrap_content"
android:id="@+id/btn3" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_toRightOf="@id/btn1"
android:layout_height="wrap_content" android:layout_alignParentRight="true"
android:layout_alignParentLeft="true" android:text="Button7" />
android:layout_centerVertical="true" </RelativeLayout>
android:text="Button3" />
Hend Ben Ayed Kharrat 2022-2023 [3]