Académique Documents
Professionnel Documents
Culture Documents
Institut Supérieur
AU : 2020/2021
d’Informatique et de Multimédia
Matière : Développement d’applications
de Gabès
mobile
(ISIMG)
Enseignante : Fatma Achour
TP2
Les ressources
AVANT DE COMMENCER
On va partir d’un projet minimal, type "Empty Activity", nommez-le TP2. Le résultat de la création de
ce projet l’interface présenté dans la figure suivante :
LES RESSOURCES
1
wable/son_nom dans un layout. C’est le système qui choisit automatiquement, selon la densité de
votre écran, celle qu’il faut afficher.
Les fichiers XML peuvent être affichés soit sous forme d’un formulaire ou de manière graphique, soit sous
forme XML brute. Voyez l’onglet juste en bas de l’éditeur, ex : Design ou Text. Le mode XML offre un
contrôle total, mais il faut savoir ce qu’on fait.
EXERCICES
Exercice 1 : Modifiez l’activité Android créée et les fichiers de ressource en répondant aux questions
suivantes :
1. Prenez le code Java de l’activité principale et changer le texte "Hello world !" par " Prenez soin de
vous-même" (utilisez le fichier "res/values/strings.xml" et changez dans le code de "res/layout/acti-
vity_main.xml).
2. Changez la couleur de texte en rouge foncé (code hexadécimale : 850606) et la couleur de l’arrière
plan en gris claire (code hexadécimale : CCCCCC) du textview affiché dans l’activité.
3. Changer le texte affiché dans le textview par une chaine de caractère avec trois paramètres : Salut
Je suis $param1 $param2 et je suis diplôme de $param. Avec :
— $param1 : "Mohamed".
— $param2 : "Ben Ali".
— $param3 : "ISIMG".
4. Changez la valeur de padding (32dp) de textview affiché (utilisez le fichier res/values/dimens.xml
et le code java de notre application).
Exercice 2 : Dans le même projet, créer une nouvelle activité ("Empty Activity") et changer dans le
fichier manifest de façon que cette activité sera exécute par defauts. Nommez cette activité "Pictu-
reActivity".
1. Importez dans le dossier res/drawable trois images : une première d’un ordinateur portable, une
deuxième d’une tablette et une dernière image d’un téléphone mobile.
2. Utilisez la partie design de fichier xml de disposition des objets, supprimez le textview crée
automatiquement et créez trois ImageView.
3. Affichez dans chaque ImageView une image de façon obtenir une interface comme présentée dans
la figure suivante :
2
4. Modifiez les propriétés de chaque image (maxHeight et maxWidth). Changer les positions des
images.
Exercice 3 : Créez un nouveau projet nommé animation. Dans ce projet, créez un nouveau répertoire
nommé anim dans le répertoire res . Cliquez-droit dessus et créez un nouveau fichier de ressources
d’animation nommé fade.xml :
Dans l’activité créée automatiquement dans le projet, placez le code java suivant :
import android.os.Bundle ;
import android.app.Activity ;
import android.view.View ;
import android.view.animation.Animation ;
import android.view.animation.AnimationUtils ;
import android.widget.ImageView ;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState) ;
setContentView(R.layout.activity_main) ;
}
3
public void fade(View view){
ImageView image = (ImageView)findViewById(R.id.imageView) ;
Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade) ;
image.startAnimation(animation1) ;
}
}
4
Ajoutez trois fonctions et trois fichiers d’animation pour agrandir, déplacer et clignoter l’image affi-
chée.
1. Pour agrandir utiliser les paramètres suivantes :
— Le premier point de "rotate" est :
— fromDegrees : 0
— toDegrees : 360
— pivotX : 50%
— pivotY : 50%
— duration : 5000
— Le deuxième point de "rotate" est :
— startOffset : 5000
— fromDegrees : 360
— toDegrees : 0
— pivotX : 50%
— pivotY : 50%
— duration : 5000
2. Pour déplacer utiliser les paramètres suivantes :
— fromXDelta : 0%p
— toXDelta : 75%p
— duration : 800
3. Pour clignoter utiliser les paramètres suivantes :
— fromAlpha : 0.0
— toAlpha : 1.0
— interpolator : @android :anim/accelerate_interpolator
— duration : 600
— repeatMode : reverse
— repeatCount : infinite